백준

    [백준 20154] 이 구역의 승자는 누구야?! - python

    [백준 20154] 이 구역의 승자는 누구야?! - python

    https://www.acmicpc.net/problem/20154 20154번: 이 구역의 승자는 누구야?! 첫째 줄에 알파벳 대문자로만 이루어진 길이 K(1 ≤ K ≤ 1,000,000)인 문자열 S가 주어진다. www.acmicpc.net 문제 풀이 토너먼트 식으로 풀이되어있지만 결국 문자 획수의 합을 구하는 것과 같다 매치하는 방법은 아스키코드의 차로 풀이했다 획수를 매치한 arr를 10으로 나눈 나머지를 통해 결과값을 구했다 alpha = [3, 2, 1, 2, 3, 3, 3, 3, 1, 1, 3, 1, 3, 3, 1, 2, 2, 2, 1, 2, 1, 1, 2, 2, 2, 1] s = input() arr = [] # 글자와 획수 매치 for a in s: i = ord(a)-ord('A') #..

    [백준 10798] 세로읽기 - python

    [백준 10798] 세로읽기 - python

    https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 문제 풀이 글자수가 15자까지므로 빈 리스트 15개를 리스트에 담아둔다 for문을 돌면서 첫번째 글자, 두번째 글자 ,,, 를 0번째 리스트, 1번째 리스트에 append한다 result는 arr를 돌면서 각 list를 join한 글자수를 붙여준다 arr = [[] for _ in range(15)] for _ in range(5): string = input() for i in range..

    [백준 9046] 복호화 - python

    [백준 9046] 복호화 - python

    https://www.acmicpc.net/problem/9046 9046번: 복호화 입력의 T(1 ≤ T ≤ 20)는 테스트 케이스로, 입력 제일 상단에 주어진다. 각각의 테스트 케이스는 한 줄마다 소문자와 공백으로 이루어진 영어 문장이 주어진다. 이 문장의 길이는 적어도 1이상이 www.acmicpc.net 문제 풀이 처음 입력받은 string값을 dic에 한글자씩 key값으로 두고 count합니다 (공백은 제외) dic에 string[i]값이 없는 경우엔 새로 key값 정의하여 value값 1로 설정 string[i]값이 있는 경우엔 value값 += 1 cf ) 공백을 제거하는 또다른 방법 replace => string = input(), string = string.replace(" ", ""..

    [백준 18312] 시각 - python

    [백준 18312] 시각 - python

    https://www.acmicpc.net/problem/18312 18312번: 시각 정수 N과 K가 입력되었을 때 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 K가 하나라도 포함되는 모든 시각을 세는 프로그램을 작성하시오. 시각을 셀 때는 디지털 시계를 기준으로, www.acmicpc.net 문제 풀이 처음에 마냥 쉽다고만 생각하고 3중 for문을 돌렸습니다 계속 틀렸다고 해서 조건을 보니 (0≤N≤23, 0≤K≤9)이 조건인걸 발견했습니다 K가 0인 경우도 생각을 했어야 했고 시각이 한자리수 인 경우에는 0을 앞에 붙여야 했습니다 # k가 0인경우 생각하기 n, k = map(int, input().split()) count = 0 h = '' m = '' s = '' for..

    [백준 19532] 수학은 비대면강의입니다 - python

    [백준 19532] 수학은 비대면강의입니다 - python

    https://www.acmicpc.net/problem/19532 19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net 문제 풀이 완전 탐색문제이므로 for문을 이용해 풀이하려했습니다 x와 y를 무식하게 전부 찾는 방식으로 풀이했음 처음에 코드를 짰을 땐 런타임에러가 떴는데 break를 사용해 이를 해결하였습니다 a, b, c, d, e, f = map(int, input().split()) result = [..

    [백준 2231] 분해합 - python

    [백준 2231] 분해합 - python

    https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 문제풀이 n부터 1까지 -1씩 작아지면서 생성자가 될 수 있는지 판단하여 result에 값을 넣어 처리했습니다 다른 분 코드를 보니 저처럼 for문을 쓰지 않고 m값을 map으로 한자리씩 분해하여 list에 담아 계산한 풀이도 있었습니다 근데 시간은 제가 더 빨리나와 의아했네요 생성자 유무는 result가 -1일때와 아닐때로 나눌때로 조건을 나누었습니다 근데 print..