목록코딩테스트 (42)
홍우진의 개발 일기장
문제 링크https://www.acmicpc.net/problem/1966 풀이 코드x = int(input())for _ in range(x): n, m = map(int, input().split()) data = list(map(int, input().split())) a = 1 while(1): if data[0] 0: #순서가 0 이상이면 m -= 1 #순서 - 1 else: m = len(data) - 1 #0이라면 순서를 제일 뒤로 print(a)코드 해석if문 두개를 따로 돌려 큐 자리 옮기기와 실시간 순서 카운팅을 같이 진행하였다.
문제 링크https://www.acmicpc.net/problem/1929 풀이 코드n,m = map(int,input().split())for i in range(n,m+1): #n~m 사이의 수를 모두 검사 if i == 1: #1이라면 그냥 넘어감 continue for j in range(2,int(i**0.5)+1): #2부터 i의 제곱근까지의 수로 나눠지는지 if i % j == 0: #나눠진다면 소수가 아님 break else: print(i) #안나눠진다면 소수코드 해석"에라토스테네스의 체" 가 핵심 포인트다.즉 구하려는 수 x가 2부터 x의 제곱근까지의 수로 나눠지는지만 확인하면 소수인지 아닌지 판별이 가..
문제 링크https://www.acmicpc.net/problem/18110 풀이 코드import sysinput = sys.stdin.readlinedef round(x): if x - int(x) >= 0.5: #소수점이 0.5 이상일 때 반올림해서 리턴 return int(x) + 1 else: return int(x) #이하라면 그냥 리턴n = int(input())num = round(n*0.15) #절사평균 계산 시 제외할 값의 수level = [int(input()) for _ in range(n) ] #리스트 컴프리헨션 후 정렬level.sort()if n: #n이 참이라면 if num: #num이 참이라면 print(roun..
문제 링크https://www.acmicpc.net/problem/28702 풀이 코드for i in range(3,0,-1): # 3, 2, 1 순서로 숫자가 들어간다. a = input() if a not in ['FizzBuzz','Fizz','Buzz']: # 입력값중에 Fizz, Buzz, FizzBuzz 가 없으면 (입력값이 숫자면) dap = int(a)+i # 답 = 그 수 + 앞으로 남은 수 breakif dap % 15 == 0: # 3과 5의 배수 print('FizzBuzz')elif dap % 3 == 0: # 3의 배수 print('Fizz')elif dap % 5 == 0: # 5의 배수 print('Buzz')e..
문제 링크 https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 풀이 코드 import sys while True: line = sys.stdin.readline().rstrip('\n') if not line: break l, u, d, s = 0, 0, 0, 0 for each in line: if each.islower(): l += 1 elif each.isupper(): u += 1 elif each.isdigit(): d += 1 el..
문제 링크 https://www.acmicpc.net/problem/2864 2864번: 5와 6의 차이 첫째 줄에 두 정수 A와 B가 주어진다. (1
문제 링크 https://www.acmicpc.net/problem/1159 1159번: 농구 경기 상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작 www.acmicpc.net 풀이 코드 n = int(input()) player_list = [] result = [] for _ in range(n): a = input() player_list.append(a[0]) first_names = set(player_list) for i in first_names: if player_list.count(i) >= 5: result.append(i) if len(result..
문제 링크 https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net 풀이 코드 c = [] for _ in range(8): c.append(list(map(str, list(input())))) n = 0 for i in range(8): for j in range(8): if (i + j) % 2 == 0: if c[i][j] == 'F': n += 1 print(n) 코드 해석 체스판을 이중 for문으로 탐색한다. 만약 탐색중인 좌표가 하얀칸이고..