목록코딩 테스트 (121)
공부 기록장
https://www.acmicpc.net/problem/1065 코드 n = int(input()) count = 0 for num in range(1, n+1): numStr = list(map(int, str(num))) if num < 100: count += 1 elif numStr[2] - numStr[1] == numStr[1] - numStr[0]: count += 1 print(count) 문제를 푸는데 특별한 아이디어가 필요하지는 않았다. 다만, N이 1000보다 작거나 같은 자연수로 주어지기 때문에 더 쉬운 논리로 풀 수 있는 것을 복잡하게 for문을 돌리려고 했다. 주어지는 입력들의 범위를 잘 확인하자! 100보다 작은 수들은 무조건 한수 조건을 만족하고 문제에서 N은 1000보다 ..
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 코드 n = int(input()) p = [] for _ in range(n): p.append(tuple(map(int, input().split()))) result = [] for i in range(n): count = 0 for j in range(n): if i != j: if p[i][0] < p[j][0] and p[i][1] < p[j][1]: count += 1 r..
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 코드 n, m = map(int, input().split()) board = [] for i in range(n): board.append(input()) result = [] for i in range(n - 7): for j in range(m - 7): c1 = 0 c2 = 0 for k in range(i, i + 8): for l in range(j, j + 8): if (k +..
https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 코드 n = int(input()) result = 0 for num in range(1, 1000001): gen = num nn = num while nn > 0: x = nn % 10 nn //= 10 gen += x if gen == n: result = num break print(result) 처음의 풀이는 위와 같이 각 자리 수의 합을 구하는 과정을 반복문..