반응형

개발 연습장/백준 문제풀이 221

[파이썬, Python] 백준 5622: 다이얼

문제 https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 코드 call = str(input()) time = 0 num = ['','ABC','DEF','GHI','JKL','MNO','PQRS','TUV','WXYZ'] for i in range(len(call)): for j in range(len(num)): if call[i] in num[j]: time += num.index(num[j])+2 print(time) 설명 우선 전화를 걸 알파벳을 받아주고 time을 0으로 설정해준다. 이후 각 숫자에 맞는 알파벳끼리 묶어서..

[파이썬, Python] 백준 2908: 상수

문제 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 코드 a, b = input().split() a = int(a[::-1]) b = int(b[::-1]) if a > b: print(a) else: print(b) 설명 우선 a와 b를 뒤집어서 읽는다는 조건이 있었으므로 숫자를 뒤집어주기 위해 문자열로 입력 받아준다. 이후 각각 a와 b를 뒤집어서 정수로 만들어 주는데, [::-1] 과 같은 형식으로 사용한다. 이는 문자열 슬라이싱을 이용한 방법인데..

[파이썬, Python] 백준 1152: 단어의 개수

문제 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 코드 text = input().split() print(len(text)) 설명 띄어쓰기를 통해 단어를 세게 되므로, 주어진 문자열을 split() 함수를 통해 공백을 통해 구분하게 되면 간단해진다. 이후 len을 통해서 개수를 출력해주자

[파이썬, Python] 백준 1157: 단어 공부

문제 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 코드 word = input().upper() wordli = list(set(word)) cnt = [] for i in wordli: count = word.count cnt.append(count(i)) if cnt.count(max(cnt)) > 1: print("?") else: print(wordli[cnt.index(max(cnt))]) 설명 우선 단어를 입력받아야 하는데 대소문자의 구분이 없다고 했으므로, up..

[파이썬, Python] 백준 2675: 문자열 반복

문제 https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 코드 T = int(input()) for _ in range(T): S = list(input()) for i in range(2,len(S)): print((S[i]*int(S[0])), end = '') print() 설명 우선 T에 테스트 케이스의 개수를 받아준다. T의 수만큼 반복문을 실행해주는데, 반복문에서 문장을 입력 받아준다. 이후 처음 입력된 숫자를 제외한 부분을 숫..

[파이썬, Python] 백준 10809: 알파벳 찾기

문제 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 코드 text = input() for i in list(range(97,123)): print(text.find(chr(i)), end = ' ') 설명 우선 텍스트를 입력 받아준다. 이후 97에서 123으로 이루어진 리스트에서 반복문을 돌리게 되는데, 이는 알파벳 소문자의 아스키코드다. chr(97)은 알파벳 'a'를 출력해주는 코드다. 'find'의 경우 문자열에서 특정 인..

[파이썬, Python] 백준 11720: 숫자의 합

문제 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 코드 N = int(input()) num = list(input()) sumnum = 0 for i in range(N): sumnum += int(num[i]) print(sumnum) 설명 다른 언어는 복잡한 방법을 사용해야 하는데, 파이썬은 그냥 일반적인 계산으로 하면 된다.

[파이썬, Python] 백준 11654: 아스키 코드

문제 https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 text = input() print(ord(text)) 설명 문제를 보고 되게 어렵다고 생각할 수 있다. 아스키 코드라는 말을 처음 들어봤을 수 있는데, 이는 컴퓨터 통신에서 사용하는 코드라고 생각하면 된다. 원래 변환하는 방법이 따로 있지만, 파이썬에서는 기본적으로 아스키 코드 변환을 제공하는 함수가 있다. ord 라는 함수로 text를 변환시키면 간단하게 해결이 가능하다.

[파이썬, Python] 백준 4344: 평균은 넘겠지

문제 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 코드 C = int(input()) for _ in range(C): overmean = [] Nscore = list(map(int, input().split())) mean = (sum(Nscore) - Nscore[0])/(len(Nscore)-1) for i in range(1, len(Nscore)): if Nscore[i] > mean: overmean.append(Nscore[i]) else: continue per = len(overmean) / (len..

[파이썬, Python] 백준 8598: OX퀴즈

문제 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 코드 N = int(input()) for i in range(N): OX_list = list(input()) score = 0 totalscore = 0 for OX in OX_list: if OX == 'O': score += 1 totalscore += score else: score = 0 print(totalscore) 설명 우선 테스트 케이스의 개수를 N을 통..

반응형