코테 스터디 N번째 TIL : 문제 풀이
- 문제
- 코드
n=int(input())
print(1)
print(0)
- 설명 및 개념
주어진 알고리즘 MenOfPassion(A[], n)에서 수행하는 코드1의 수행 횟수는 항상 1회입니다. 이유는 주어진 n에 상관없이 배열 A의 중간에 해당하는 인덱스의 값을 반환하기 때문입니다.
문제를 분석하면:
- 수행 횟수: 코드1이 호출되는 횟수는 n과 상관없이 항상 1번입니다. 즉, n의 값이 무엇이든 상관없이 한 번만 수행됩니다.
- 다항식의 최고차항 차수: 수행 횟수는 입력 n에 비례하지 않는 상수 시간(즉, O(1))입니다. 이는 다항식으로 나타내면 최고차항의 차수가 0이 된다는 의미입니다.
- 문제
https://www.acmicpc.net/problem/2231
- 코드
n=int(input())
ssj=[]
for i in range(n):
if n==sum(map(int,list(str(i))))+i:
ssj.append(i)
if ssj:
print(min(ssj))
else:
print(0)
- 설명 및 개념
💡 a=sum(map(int,list(str(number))))
- 다음을 통해서 number가 숫자이면 그 숫자의 각 자릿수의 합을 구할 수 있다
- 문제 - 완전탐색
https://www.acmicpc.net/problem/1018
- 코드
n,m=map(int,input().split())
board=[list(input().strip()) for _ in range(n)]
##공백을 제외하고 입력받기
pattern1 = [
"WBWBWBWB",
"BWBWBWBW",
"WBWBWBWB",
"BWBWBWBW",
"WBWBWBWB",
"BWBWBWBW",
"WBWBWBWB",
"BWBWBWBW"
]
pattern2 = [
"BWBWBWBW",
"WBWBWBWB",
"BWBWBWBW",
"WBWBWBWB",
"BWBWBWBW",
"WBWBWBWB",
"BWBWBWBW",
"WBWBWBWB"
]
def countch(board,x,y,pattern):
count=0
for i in range(8):
for j in range(8):
if board[x+i][y+j] != pattern[i][j]:
count+=1
return count
minch=217000000
for i in range(n-7):
for j in range(m-7):
ch1= countch(board,i,j,pattern1)
ch2=countch(board,i,j,pattern2)
minch=min(minch,ch1,ch2)
print(minch)
- 문제 - 완전탐색
https://www.acmicpc.net/problem/2839
- 코드
n=int(input())
cnt=0
while n >=0:
if n%5==0:
cnt+=n//5
print(cnt)
break
n=n-3
cnt+=1
else:
print(-1)
- 설명
💡 while else 구문: while 루프가 정상적으로 종료될 때 즉, break 문 없이 종료 될때 else 구문이 실행된다.
'코딩테스트' 카테고리의 다른 글
코테 스터디 23번째 TIL : 숫자 문제 풀이 (0) | 2024.09.30 |
---|---|
코테 스터디 21번째 TIL : 문제 풀이 (0) | 2024.09.23 |
코테 스터디 20번째 TIL : 문제 풀이 (1) | 2024.09.18 |
코테 스터디 19번째 TIL : 시뮬레이션 dx,dy 문제 풀이 (1) | 2024.09.11 |
코테 스터디 18번째 TIL : 탐색, 시뮬레이션 문제 풀이 (0) | 2024.09.05 |