본문 바로가기

전체 글72

[이코테] 구현 유형 문제 풀이 완전 탐색 가능한 경우의 수를 모두 검사해보는 탐색 방법 시각 * 문제 해결 아이디어 가능한 모든 시각의 경우를 하나씩 모두 세서 풀 수 있는 문제 하루는 24(h) * 60(m) * 60(s) = 86,400가지의 경우 단순히 시각을 1씩 증가시키면서 3이 하나라도 포함되어 있는지만 확인 완전 탐색 문제 유형 * 내 답안 n = int(input()) count = 0 # 3이 하나라도 포함되는 모든 경우의 수 계산 for h in range(n+1): for m in range(60): for s in range(60): if '3' in str(h) + str(m) + str(s): count += 1 print(count) 왕실의 나이트 * 내 답안 # 현재 나이트의 위치 입력받기 s = inpu.. 2023. 4. 18.
[이코테] 그리디 알고리즘 유형 문제 풀이 그리디 알고리즘 그리디 알고리즘 (탐욕법) 현재 상황에서 지금 당장 좋은 것만 고르는 방법 단순히 매 상황에서 가장 큰 값만 고르는 방식 1이 될 때 까지 * 내 답안 n, k = map(int, input().split()) count = 0 while True : if n%k == 0 : n = n//k count += 1 else : n = n-1 count += 1 if n == 1: print(count) break* ㅅ * 모범 답안 시간 복잡도를 고려한 모범 답안 n, k = map(int, input().split()) result = 0 while True : # n이 k로 나누어 떨어지는 수가 될 때까지 빼기 target = (n//k) *k # k로 나누어 떨어지는 수 result +.. 2023. 4. 16.
[CodeUp] 파이썬 기초 100제 | 6098 풀이 * 내 답안 # 배열 생성 array = [[0 for col in range(10)] for row in range(10)] # 배열에 값 입력 for x in range(10): temp = [] temp = list(map(int, input().split())) for y in range(10): array[x][y] = temp[y] x = 1 y = 1 array[x][y] = 9 while True: if array[x][y+1] == 0 : # 오른쪽에 장애물이 없을 때 오른쪽으로 이동 array[x][y+1] = 9 y = y+1 continue if array[x+1][y] == 0 : # 아래쪽에 장애물이 없을 때 아래로 이동 array[x+1][y] = 9 x = x+1 contin.. 2023. 4. 16.
[CodeUp] 파이썬 기초 100제 | 6097 풀이 * 내 답안 x,y 좌표의 위치를 착각하여 시간을 많이 잡아 먹었던 문제 0 1 2 3 4 5 → 가로 방향 증가 (y) 1 ↓ 세로 방향 증가 (x) 2 3 4 5 h, w = map(int, input().split()) # 격자판 생성 array = [[0 for col in range(w)] for row in range(h)] # 막대의 개수 n = int(input()) # 막대의 길이(l), 방향(d), 좌표(x, y) for i in range(n): l, d, x, y = map(int, input().split()) for j in range(l): if d == 0: array[x-1][y-1+j] = 1 else : array[x-1+j][y-1] = 1 for x in range(.. 2023. 4. 16.