백준 153

[백준] 1259 팰린드롬수

www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net while True: tmp = input() if tmp == '0': break else: if tmp==tmp[::-1]: print('yes') else: print('no') 팰린드롬에 대한 문제는 이전에도 풀어봐서 쉽게 구현가능했다. 마지막에 0이 들어올때 반복문이 종료된다는 조건이 추가가 되었지만, 숫자도 문자열로 받을수있어서 큰 차이없는 문제였다.

STUDY/Algorithm 2021.02.05

[백준] 11399. ATM

www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net import sys input=sys.stdin.readline n = int(input()) lst= list(map(int,input().split())) lst.sort() result = 0 for i in range(n): result+= lst.pop()*(i+1) print(result) 정렬하고 더해준다. 적은 시간이 드는 사람일수록 앞에 있어야 뒤에 있는사람이 누적되지 않는다.

STUDY/Algorithm 2021.02.04

[백준] 10845 큐

www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net from collections import deque import sys input=sys.stdin.readline n=int(input()) que=deque() cmd_list=[] for i in range(n): cmd_list.append(input().split()) for cmd in cmd_list: if cmd[0] == 'pop': try: print(que.popleft()..

STUDY/Algorithm 2021.02.04

[백준] 1009 분산처리

www.acmicpc.net/problem/1009 1009번: 분산처리 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net t = int(input()) number_list=[# 0~9까지 나오는 수 [10], #0, 원래는 0이지만 출력할때 10이 나와야해서 고친다. [1], #1 [2,4,8,6], #2 [3,9,7,1], #3 [4,6], #4 [5], #5 [6], #6 [7,9,3,1], #7 [8,4,2,6], #8 [9,1] #9 ] for tc in range(t): result = 0 a, b = map(int, input(..

STUDY/Algorithm 2021.02.03

[백준] 2480 주사위 세개

www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다. 같은 눈이 2개만 www.acmicpc.net dice=list(map(int,input().split())) lsd = len(set(dice)) if lsd == 1: print(10000+dice[0]*1000) elif lsd == 3: print(max(dice)*100) else: tmp = dice.pop() if tmp == dice[-1] or tmp == dice[0]: print(1000+100*tmp) else : pr..

STUDY/Algorithm 2021.02.03

[백준] 2960 에라토스테네스의 체

www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net n,k=map(int,input().split()) prime=[False,False]+[True]*(n-1) index,result = 0,0 for number, val in enumerate(prime): if val: for i in range(number,n+1,number): if prime[i]: prime[i]=False index+=1 if index==k: result = i break print(result) 에라토스테네스의 체를 사용할때 항상 앞에 false 두개를 넣고 시작한..

STUDY/Algorithm 2021.02.03

[백준] 1032 명령프롬프트

www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net 하... 정말 오래걸렸다. 어제부터 계속 시도했고 10번이나 제출했다. 머리로는 쉬웠는데 구현은 쉽지가 않았다. N = int(input()) files = [] for _ in range(N): tmp = [] tmp.extend(input()) files.append(tmp) len_file = len(files[-1]) result = [] for j in range(len_file): tmp = s..

STUDY/Algorithm 2021.02.03