Programming/Algorithm 237

[백준] #1259 팰린드롬수 python

https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 📕 설명 📕 팰린드롬을 판별하기 위해서 String의 처음과 끝을 쌍으로 가운데로 이동하며 하나씩 비교해나간다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 while True: S = input() nTrue = True if S == '0': break for i in range(0, len(S)//2): if S[i] != S[len(S) - i - 1]: nTrue = False if nTrue: print('yes') ..

[백준] #1731 추론 python

https://www.acmicpc.net/problem/1731 1731번: 추론 등차가 정수인 등차수열 (어떤 수에 차례대로 일정한 수를 더해서 이루어지는 수열) 은 2개의 숫자로 나타낼 수 있다. P는 수열의 첫 번째 수이고, Q는 그 다음수가 되기 위해 바로 전의 수에 더해 www.acmicpc.net 📕 설명 📕 공차인 경우와 공비인 경우를 판별하여 풀이한다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 N = int(input()) N_list = [] tmp = [] div = [] for i in range(N): N_list.append(int(input())) if i > 0: tmp.append(N_list[i] - N_list[i-1]) div.append(N_list[i] // N_list[i-1..

[백준] #10162 전자레인지 python

https://www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net 📕 설명 📕 300, 60, 10초 세 개로 나누고 각각으로 나눈다. 1의 자리가 있는 경우는 정확히 나눌 수 없으므로 -1으로 출력한다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 N = int(input()) A = 300 B = 60 C = 10 div_A = 0 div_B = 0 div_C = 0 div_A = N // A N -= div_A * A div_B = N // B N -= div_B..

[백준] #11557 Yangjojang of The Year python

https://www.acmicpc.net/problem/11557 11557번: Yangjojang of The Year 입학 OT때 누구보다도 남다르게 놀았던 당신은 자연스럽게 1학년 과대를 역임하게 되었다. 타교와의 조인트 엠티를 기획하려는 당신은 근처에 있는 학교 중 어느 학교가 술을 가장 많이 먹는지 www.acmicpc.net 📕 설명 📕 값이 가장 큰 문자열에 대해 문자열을 기록하고 출력한다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 T = int(input()) for _ in range(T): max_ = -10000 result = "" for i in range(int(input())): S, num = map(str, input().split()) if int(num) > max_: max_ =..

[백준] #5988 홀수일까 짝수일까 python

https://www.acmicpc.net/problem/5988 5988번: 홀수일까 짝수일까 짝이 없는 경재는 매일 홀로 있다보니 홀수를 판별할 수 있는 능력이 생겼다. 창식이는 경재의 말이 사실인지 그 능력을 시험해보려 한다. 창식이의 의심이 끝이 없을 것 같아 N개만 확인하기 www.acmicpc.net 📕 설명 📕 짝홀을 판별하는 프로그램을 구현한다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 N = int(input()) for _ in range(N): s = int(input()) if s % 2 == 0: print('even') else: print('odd')

[백준] #9506 약수들의 합 python

https://www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net 📕 설명 📕 약수를 모두 list에 넣고 list의 총 합과 N을 비교하여 풀이하였다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 while True: N = int(input()) if N == -1: break div = [] for i in range(1,N): if N % i == 0: div.append(i) if sum(div) != N: print(N, "is NOT perfect.") el..

[백준] #10102 개표 python

https://www.acmicpc.net/problem/10102 10102번: 개표 입력은 총 두 줄로 이루어져 있다. 첫째 줄에는 심사위원의 수 V (1 ≤ V ≤ 15)가 주어지고, 둘째 줄에는 각 심사위원이 누구에게 투표했는지가 주어진다. A와 B는 각각 그 참가자를 나타낸다. www.acmicpc.net 📕 설명 📕 python의 Counter library를 이용하여 A와 B의 개수를 세었다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 from collections import Counter V = int(input()) S = Counter(input()) if S['A'] > S['B']: print('A') elif S['A'] < S['B']: print('B') else: print("Tie")

[백준] #10988 팰린드롬인지 확인하기 python

https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 📕 설명 📕 값이 팰린드롬인지 확인하기 위해서 인덱스를 처음, 끝 / 처음 + 1, 끝 - 1 / ... 형태로 비교해 나갈 수 있다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 S = input() nTrue = 1 for i in range(0,len(S)//2): if S[i] != S[len(S) - i - 1]: nTrue = 0 print(nTrue)

[백준] #7567 그릇 python

https://www.acmicpc.net/problem/7567 7567번: 그릇 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. www.acmicpc.net 📕 설명 📕 prev 값을 설정하여 이전 값을 저장하여 다르면 10을 더하고 같으면 5를 더한다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 li = input() prev = li[0] result = 10 for i in li[1:]: if i == prev: result += 5 elif i != prev: result += 10 prev = i print(result)