문제 링크 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net 문제 풀이 from sys import stdin input = stdin.readline n, m = map(int, input().rstrip().split()) memorize = {} for _ in range(n): word = input().rstrip() if len(word) >= m: if word in memorize: memorize[word][0] += 1 else..
문제 링크 26069번: 붙임성 좋은 총총이 첫번째 줄에는 사람들이 만난 기록의 수 $N\ (1 \le N \le 1\ 000)$이 주어진다. 두번째 줄부터 $N$개의 줄에 걸쳐 사람들이 만난 기록이 주어진다. $i + 1$번째 줄에는 $i$번째로 만난 사람들의 이름 $A_i$ www.acmicpc.net 문제 풀이 from sys import stdin input = stdin.readline n = int(input()) chong = set(['ChongChong']) for _ in range(n): a, b = input().split() if a in chong or b in chong: chong.update([a, b]) print(len(chong)) *key point: 춤을 추고 있는..
문제 링크 25192번: 인사성 밝은 곰곰이 첫번째 새로운 사람이 들어온 뒤 pjshwa, chansol, chogahui05은 모두 곰곰티콘으로 인사했다. 두번째 새로운 사람이 들어온 뒤 pjshwa와 chansol은 다시 곰곰티콘으로 인사했다. www.acmicpc.net 문제 풀이 from sys import stdin input = stdin.readline n = int(input()) gom = set() cnt = 0 for _ in range(n): user = input().strip() if user == 'ENTER': cnt += len(gom) gom = set() else: gom.add(user) cnt += len(gom) print(cnt) *key point: 'ENTER..
문제 링크 24723번: 녹색거탑 Naver D2를 아시나요? D2는 For Developers, By Developers의 약자로, 개발자들을 위해 개발자들이 직접 만들어 가고 있는 네이버 개발자 지원 프로그램입니다. 네이버가 축적한 기술과 지식을 공유하고, 외 www.acmicpc.net 문제 풀이 print(2**int(input())) *key point: 모든 블록에서 아래층의 블록으로 내려갈 수 있는 방법은 2가지로 똑같다.
문제 링크 15439번: 베라의 패션 베라는 상의 N 벌과 하의 N 벌이 있다. i 번째 상의와 i 번째 하의는 모두 색상 i를 가진다. N 개의 색상은 모두 서로 다르다. 상의와 하의가 서로 다른 색상인 조합은 총 몇 가지일까? www.acmicpc.net 문제 풀이 n = int(input()) print(n * (n - 1)) *key point: N개의 상의와 색이 겹치지 않는 N-1개의 하의를 조합하는 방법의 수를 구한다.
문제 링크 13909번: 창문 닫기 서강대학교 컴퓨터공학과 실습실 R912호에는 현재 N개의 창문이 있고 또 N명의 사람이 있다. 1번째 사람은 1의 배수 번째 창문을 열려 있으면 닫고 닫혀 있으면 연다. 2번째 사람은 2의 배수 번째 www.acmicpc.net 문제 풀이 print(int(int(input())**(1/2))) *key point: n = int(input()) window = [0 for _ in range(n)] for i in range(n): for j in range(i+1, n, i+1): window[j-1] = 1 if window[j-1] == 0 else 0 print(sum(window)) 문제를 그대로 푸려고 하면 위와 유사한 알고리즘을 떠올릴 수 있다. 하지만 ..
문제 링크 17103번: 골드바흐 파티션 첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 < N ≤ 1,000,000을 만족한다. www.acmicpc.net 문제 풀이 from sys import stdin input = stdin.readline primes = [True for _ in range(1000001)] for i in range(2, 1000001): if primes[i] == True: for j in range(i*2, 1000001, i): primes[j] = False T = int(input()) for i in range(T): n = int(input()) partition =..
문제 링크 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 문제 풀이 import sys n = int(sys.stdin.readline()) attendance = {} for i in range(n): name, status = sys.stdin.readline().split() if status == "enter": attendance[name] = 1 else: del attendance[name] print(*sorted(attendance.keys(), rev..
문제 링크 4134번: 다음 소수 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. www.acmicpc.net 문제 풀이 from sys import stdin input = stdin.readline test_case = int(input()) for i in range(test_case): n = int(input()) while 1: if n == 0 or n == 1: print(2) break for i in range(2, int(n ** 0.5) + 1 ): if n % i == 0: break else: print(n) break n += 1 *key point: 2부터 n의 제곱근까지의 수들로 나누어보며 약수가 있는지 확인한다..
문제 링크 2485번: 가로수 첫째 줄에는 이미 심어져 있는 가로수의 수를 나타내는 하나의 정수 N이 주어진다(3 ≤ N ≤ 100,000). 둘째 줄부터 N개의 줄에는 각 줄마다 심어져 있는 가로수의 위치가 양의 정수로 주어지며, 가 www.acmicpc.net 문제 풀이 from sys import stdin from math import gcd input = stdin.readline n = int(input()) location = [int(input()) for _ in range(n)] length = [location[i + 1] - location[i] for i in range(len(location) - 1)] g = gcd(*length) print(sum([len // g - 1 f..
- Total
- Today
- Yesterday
- 2587
- 항해+
- MySQL
- 2738
- 24313
- 17103
- 항해 플러스
- 2053
- 백준
- 2903
- 26069
- til
- 13909
- 25192
- 5597
- 10807
- programmer
- 벡준
- 4134
- 24060
- Python
- 13241
- Programmers
- Wil
- 코육대
- 1269
- 24723
- 20920
- 25501
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |