목록알고리즘 (175)
홍우진의 개발 일기장
문제 링크 https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 풀이 코드 arr = [[0]*100 for _ in range(100)] for _ in range(int(input())): m, n = map(int, input().split()) for i in range(m, m+10): for j in range(n, n+10): arr[i][j] = 1 ans = 0 for i in arr: ans += i.count(1) print(ans)..
문제 링크 https://www.acmicpc.net/problem/14912 14912번: 숫자 빈도수 자연수 n (1 ≤ n ≤ 100,000)과 한 자리 숫자 d(0~9)가 첫째 줄에 주어진다. www.acmicpc.net 풀이 코드 n,m = map(int,input().split()) a = '' for i in range(1, n+1): a = a + str(i) print(a.count(str(m))) 코드 해석 수를 문자열로 길게 나열한다. ex) 12345678910111213 이후 문자열에서 count를 사용하여 m의 개수를 출력한다.
문제 링크 https://www.acmicpc.net/problem/14582 14582번: 오늘도 졌다 첫 번째 줄에는 9개의 정수가 주어지는데, 오늘 경기에서 울림 제미니스가 1회 초, 2회 초, ..., 9회 초에 낸 득점이 주어진다. 두 번째 줄에도 9개의 정수가 주어지는데, 스타트링크 걸리버스가 1회 www.acmicpc.net 풀이 코드 a = list(map(int, input().split())) b = list(map(int, input().split())) asum, bsum = 0, 0 cnt = 0 for i in range(9): asum += a[i] if asum > bsum and cnt == 0: cnt += 1 if asum < bsum and cnt == 1: cnt +..
문제 링크 https://www.acmicpc.net/problem/16212 16212번: 정열적인 정렬 형준이는 수열을 하나 가지고 있다. 형준이는 수열을 정열적으로 정렬해보려 한다. 과연, 정렬할 수 있을까? www.acmicpc.net 풀이 코드 n = int(input()) m = list(map(int,input().split())) m.sort() print(*m) 코드 해석 수열을 받아서 띄어쓰기로 구분하여 리스트 형식으로 저장한다. 그 후 정렬을 하고 출력한다.
문제 링크 https://www.acmicpc.net/problem/14405 14405번: 피카츄 피카츄는 "pi", "ka", "chu"를 발음할 수 있다. 따라서, 피카츄는 이 세 음절을 합친 단어만 발음할 수 있다. 예를 들면, "pikapi"와 "pikachu"가 있다. 문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문 www.acmicpc.net 풀이 코드 s = input() s = s.replace("pi", " ") s = s.replace("ka", " ") s = s.replace("chu", " ") if len(s.strip()) == 0: print("YES") else: print("NO") 코드 해석 문자열을 받은 뒤 replace를 이용하여 pi,ka,chu를 공백으로..
문제 링크 https://www.acmicpc.net/problem/2535 2535번: 아시아 정보올림피아드 첫 번째 줄에는 대회참가 학생 수를 나타내는 N이 주어진다. 단, 3 ≤ N ≤ 100이다. 두 번째 줄부터 N개의 줄에는 각 줄마다 한 학생의 소속 국가 번호, 학생 번호, 그리고 성적이 하나의 빈칸을 사 www.acmicpc.net 풀이 코드 N = int(input()) students = [] for student_index in range(N): student_info = list(map(int, input().split(' '))) students.append(student_info) students.sort(key=lambda student: student[2], reverse=Tr..
문제 링크 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 코드 n, m = map(int, input().split()) s = [] def f(): if len(s) == m: print(' '.join(map(str, s))) return for i in range(1, n + 1): if i in s: continue s.append(i) f() s.pop() f() 코드 해석 DPS를 기반으로 풀이한다. 수열을 저장하기 위한 리..
문제 링크 https://www.acmicpc.net/problem/11292 11292번: 키 큰 사람 민우는 학창시절 승부욕이 강해서 달리기를 할 때에도 누가 가장 빠른지를 중요하게 생각하고, 시험을 볼 때에도 누가 가장 성적이 높은지를 중요하게 생각한다. 이번에 반에서 키를 측정하였 www.acmicpc.net 풀이 코드 students = [] while True: N = int(input()) if N == 0: break else: for student_index in range(N): student = input().split(' ') student[1] = float(student[1]) students.append(student) max_height = max(students, key=l..