목록CodingTest/Python (74)
기록방
👉 문제링크 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net 🔸 문제 분석 🔸 좌석 정보가 주어지면 컵 놓을 수 있는 사람의 최대값을 출력한다. 일반석과 커플석을 구분해 계산한다. 일반석은 왼쪽 컵홀더가 비었으면 무조건 왼쪽, 아니면 오른쪽에 놓는다. 따라서 무조건 컵을 배치할 수 있다. 커플석은 왼쪽과 오른쪽 구분이 필요하다. 커플석의 왼쪽 좌석은 왼쪽 컵홀더에 컵이 놓였는지 확인이 필요하다. 🔸 코드 🔸 n = int(input()) arr = list(input()) answer = 0 nextL = False left = True # 왼쪽 컵홀더 사용이 되는가 for i in arr[:-1]: if ..
👉 문제링크 4998번: 저금 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트는 한 줄로 이루어져 있고, N, B, M이 주어진다. M은 항상 N보다 크다. N과 M은 항상 백만보다 작거나 같은 수이고, 음수 또는 0이 아니다 www.acmicpc.net 🔸 문제 분석 🔸 입력이 끝날때까지 테스트 케이스를 입력받는다. 실수형 N, B, M 을 입력받는다. N이 몇 번 B%만큼 커져야 M을 넘는지 출력한다. 🔸 코드 🔸 import sys lines = sys.stdin.readlines() for line in lines: n, b, m = map(float,line.split()) count = 0 while n
👉 문제링크 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 🔸 문제 분석 🔸 지그재그로 그린 배열에서 x번째 위치의 분수를 출력한다. 대각선으로 라인을 세었을때 짝,홀의 분자,분모 규칙이 반대이다. 🔸 코드 🔸 x = int(input()) line = 0 end = 0 while x > end: line += 1 end += line diff = end - x if line % 2 != 0: u = diff + 1 d = line - diff else: u = line - diff d = diff + 1 print(f'{u}/{d}') 🔸 코드 해석 🔸 line은 x가 해당하는 라인 번호이다. end는 x가 해당하는 라인의 끝 인덱스이다..
👉 문제링크 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 🔸 문제 분석 🔸 입력된 문자열대로 다이얼을 돌리는데 드는 총 시간을 출력한다. 🔸 코드 🔸 answer = 0 for c in list(input()): temp = ord(c)-ord('A') if temp < 15: answer += (ord(c)-ord('A'))//3 + 3 elif 15
👉 문제링크 17358번: 복불복으로 지구 멸망 (2,1,4,3), (3,4,1,2), (4,3,2,1) 총 3가지 경우가 가능하다. www.acmicpc.net 🔸 문제 분석 🔸 n개의 컵이 오름차순으로 배치되어 있는데, 한 번씩 바꿀때 가능한 경우의 수를 출력한다. 4개의 컵을 바꾸는 경우의 수는 다음과 같다. 먼저 1개를 골라놓고, 바꿀 수 있는 경우의 수 : 3 남은 2개에서 1개를 골라놓고, 바꿀 수 있는 경우의 수 : 1 3*1 = 3가지이다. 6개의 컵을 바꾸는 경우의 수 1개 고르고, 바꿀 수 있는 경우의 수 : 5 남은 4개에서 1개 골라놓고, 바꿀 수 있는 경우의 수 : 3 남은 2개에서 1개 골라놓고, 바꿀 수 있는 경우의 수 : 1 5*3*1 = 15가지이다. 경우의 수를 곱하다 보..