목록CodingTest (430)
기록방
👉 문제링크 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 🔸 문제 분석 🔸 해시 맵 문제이다. 🔸 코드 🔸 import sys n, m = map(int, sys.stdin.readline().rstrip().split()) passwd = dict() for _ in range(n): i = sys.stdin.readline().rstrip().split() passwd[i[0]] = i[1] for _ in range(m): sys.stdout.write(passwd[sys..
👉 문제링크 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 🔸 문제 분석 🔸 걸리는 시간 숫자의 수와 숫자들의 리스트가 입력된다. 각 리스트 별 끝나는 시간들의 총합의 최소값을 출력한다. 문제 설명은 그리디 알고리즘 이지만, 정렬로 간단히 풀린다. 🔸 코드 🔸 import sys n = int(sys.stdin.readline()) arr = list(map(int, sys.stdin.readline().rstrip().split())) arr.sort() sum_num = 0 for i in range(n): sum_num += sum(..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 문자열을 검사해 p와 y를 대소문자 구분 없이 세는 문제이다. 🔸 코드 🔸 class Solution { boolean solution(String s) { s = s.toUpperCase(); int p = 0; int y = 0; for(String c : s.split("")){ if(c.charAt(0) == 'P') p++; else if(c.charAt(0) == 'Y') y++; } return p == y; } } 🔸 코드 해석 🔸 문자열을 대문자들로 변환시킨다. ..
👉 문제링크 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 🔸 문제 분석 🔸 동전 종류 수 n과 만들 가치의 합 k, 동전 종류를 입력받는다. 동전을 최소로 사용하면서 k를 만든다. 🔸 코드 🔸 import sys n, k = map(int, sys.stdin.readline().split()) coin = [] for i in range(n): c = int(sys.stdin.readline()) if c = i: answer += k//i k..
👉 문제링크 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 🔸 문제 분석 🔸 이름들을 n개 입력받고, 다시 m번 입력받아 겹치는 이름들을 체크한다. 해시를 활용하는 문제이다. 🔸 코드 🔸 import sys n, m = map(int, sys.stdin.readline().split()) name = set() answer = list() for i in range(n): name.add(sys.stdin.readline().rstrip()) for i in range(m): isin = sys.stdin..