| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
- Programming
 - dynamic
 - DP
 - 백준
 - String
 - w3school
 - github
 - parameter
 - 프로그래밍
 - 문제풀이
 - C#
 - 오류
 - python
 - Basic
 - Unity
 - Tutorial
 - Class
 - UE5
 - Unreal Engine 5
 - Material
 - 파이썬
 - 시작해요 언리얼 2022
 - c++
 - Algorithm
 - W3Schools
 - 재귀
 - loop
 - 기초
 - guide
 - dfs
 
- Today
 
- Total
 
목록문제풀이 (28)
행복한 개구리
N = int(input()) arr = set() for _ in range(N): arr.add(int(input())) arr = list(arr) arr.sort() for i in arr: print(i) set의 요소는 중첩되지 않는다는 성질을 이용하여 풀었습니다. 거품정렬(Bubble Sort) N = int(input()) arr = [] for _ in range(N): arr.append(int(input())) for i in range(len(arr)): for j in range(len(arr)): if arr[i] < arr[j]: arr[i], arr[j] = arr[j], arr[i] for i in arr: print(i) 중첩반복문을 통해 배열의 처음부터 끝까지 모두 탐색..
N = int(input()) count = 0 i = 666 while True: if '666' in str(i): count += 1 if count == N: print(i) break i += 1 작은 수 부터 하나하나 찾아내는 방식입니다. 출력값의 범위를 정하기 어려워 while 반복문을 사용하였고 반복실행마다 i가 1씩 증가하게 했습니다 몇번째로 작은 수인지 알아내기 위해 count를 사용했습니다. 그리고 str으로 형변환한 i에 '666'이라는 문자열이 포함되어있고, 그 수가 N번째로 작다면 출력하도록 했습니다.
N, M = map(int, input().split()) board = [] for _ in range(N): lineN = list(input()) board.append(lineN) result = [] for i in range(N - 7): for j in range(M - 7): count_W = 0 count_B = 0 for n in range(i, i + 8): for m in range(j, j + 8): if (n + m) % 2 == 0:# 짝수칸일때 if board[n][m] != "W": count_W += 1 if board[n][m] != "B": count_B += 1 else:# 홀수칸일때 if board[n][m] != "B": count_W += 1 if board[n..
N = int(input()) size = [] for _ in range(N): x, y = map(int, input().split()) size.append([x, y]) result = [] for i in range(N): rank = 1 for j in range(N): if i == j: continue if size[j][0] > size[i][0] and size[j][1] > size[i][1]: rank += 1 result.append(rank) for _ in result: print(_, end=' ') 우선 각 사람의 체중, 신장을 담을 리스트를 만들어줍니다. 각 개체마다의 체중, 신장을 비교해야 하기 때문에 개체를 구분하기 위해 list형식의 size를 list형식으로 추가했..
N = int(input()) result = 0 for gen in range(N + 1): A = list(map(int, str(gen))) result = gen + sum(A) if N == result: print(gen) break if gen == N: print(0) break 우선 중첩반복문이 아닌 0부터 N까지의 반복문으로 실행하였습니다. A는 gen의 각 숫자들을 리스트형식으로 만든 것입니다. result는 gen과 gen의 각 숫자들의 합을 더한 것입니다. N과 result(gen과 gen의 각 자리 숫자들의 합)이 같다면 반복문에서 gen은 0부터 1씩 올라가는 형식이므로 가장 먼저 조건에 일치한 것이 가장 작은 생성자입니다. 따라서 gen을 출력하며 반복문을 깹니다. 하지만 g..
N, M = map(int, input().split()) cards = list(map(int, input().split())) result = 0 for i in range(N): for j in range(i+1, N): for k in range(j + 1, N): if cards[i] + cards[j] + cards[k] > M: continue else: result = max(result, cards[i] + cards[j] + cards[k]) print(result) 카드를 세개를 골라야하며 모두 확인해야 하기 때문에 반복문을 3개 중첩하여 실행합니다. 중첩이 될 때마다 시작 인덱스의 범위가 1씩 늘어나는 이유는 카드가 겹치면 안되기 때문입니다. 따라서 서로다른 세장의 카드를 일일히 확..