[파이썬] 백준 15312 : 이름 궁합 https://www.acmicpc.net/problem/15312 15312번: 이름 궁합 영어 대문자 알파벳 26개의 획수는 순서대로 3, 2, 1, 2, 3, 3, 2, 3, 3, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1 로 정한다. (출제자가 알파벳 대문자를 쓰는 방법이 기준이다) www.acmicpc.net 브론즈 1 DP, 구현, 문자열 획수에 대한 기준은 문제의 힌트에 명시되어 있다. 그냥 문제에서 요구하는 조건 그대로 구현하면 쉽게 풀린다. 인접한 두 수의 합을 10으로 나눈 나머지를 리스트에 재할당하되, pop으로 마지막 원소를 제거하는 식으로 숫자를 줄여나갔다. 특히, 리스트의 원소가 int일 경우..
[파이썬] 백준 17202 : 핸드폰 번호 궁합 https://www.acmicpc.net/problem/17202 17202번: 핸드폰 번호 궁합 어린시절 다들 한 번씩은 이름으로 궁합을 본 적이 있을 것이다. 이것과 비슷한 방식으로 중앙대학교에는 핸드폰 번호 궁합을 보는 것이 유행이라고 한다. 핸드폰 번호 궁합을 보기 위해서는 www.acmicpc.net 브론즈 1 구현, DP DP풀다가 지친 심신을 달래기 위해 쉬운 문제를 풀었다.. DP 풀듯이 접근하지는 않았고 문제에서 나와있는 그대로 구현했다. 인접한 두 수를 더할때 길이가 1씩 줄어들기 때문에 pop을 써서 마지막 원소를 제거하는 방법으로 연산을 계속했다. 코드(76ms) import sys; input = sys.stdin.readline ..
[파이썬] 백준 9655 : 돌 게임 https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 실버 5 수학, DP 두 사람은 돌을 1개 또는 3개를 들고 갈 수 있는 선택권이 있다. SK가 1개 CY가 1개 = 2개 SK가 1개 CY가 3개 = 4개 SK가 3개 CY가 1개 = 4개 SK가 3개 CY가 3개 = 6개 즉, 두 사람이 모두 돌을 가져가는 한 턴이 끝나면, 두 사람이 가져간 돌의 합은 항상 짝수개가 된다. 원래 돌의 개수가 짝수라면, 짝수개를 빼도 짝수가 되고, 원래 돌의 개수가 홀수라면, 짝수개를 빼도 홀수가 된다. 예를들어 N = 25라면 돌을 짝수 개씩 ..
[파이썬] 백준 17219 : 비밀번호 찾기 https://www.acmicpc.net/problem/17219 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 실버 4 해시 코드 입력 값을 찾아야 하는 주소의 범위가 10만이므로 리스트를 쓰지말고 딕셔너리를 쓰면 된다. 찾아야 하는 주소가 기존에 입력된 주소에 반드시 존재하고 있기 때문에 그냥 직관적으로 짜면 풀린다. (풀어내는 알고리즘에 따라 같은 난이도라도 어떤 건 너무 쉽고 어떤 건 너무 어려운 듯..) import sys;..
[파이썬] 백준 1764 : 듣보잡 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 실버 4 문자열, 정렬, 해시 의외로 시간초과가 나지 않는 문제. 중복을 허용하지 않으니까 set을 사용하면 되고, 두 set의 교집합을 정렬해서 출력하면 끝난다. 코드 import sys; input = sys.stdin.readline N, M = map(int, input().split()) d = set(input().rstrip() for _ in r..
[파이썬] 백준 15652 : 나는야 포켓몬 마스터 https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 실버 4 자료구조, 해시를 사용한 집합과 맵 접근 포켓몬 이름에 대한 리스트를 먼저 만들고, 내가 문자를 입력하면 해당 포켓몬의 인덱스값 + 1을 출력하고, 숫자를 입력하면 숫자 -1의 인덱스에 위치한 포켓몬의 이름을 출력하도록 하고 싶었다. 파이썬에서는 input()이든 sys.stdin.readline()을 쓰든 ..