반응형

백준 파이썬 122

[파이썬, Python] 백준 1316: 그룹 단어 체커

문제 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 코드 n = int(input()) cnt = n for _ in range(n): text = input() for i in range(0, len(text)-1): if text[i] == text[i+1]: pass elif text[i] in text[i+1:]: cnt -= 1 break print(cnt) 설명 우선 단어의 개수를 입력 받아준다. 그..

[파이썬, Python] 백준 2941: 크로아티아 알파벳

문제 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 코드 text = input() croalpha = ['c=','c-','dz=','d-','lj','nj','s=','z='] for i in croalpha: text = text.replace(i,'*') print(len(text)) 설명 우선 크로아티아 알파벳의 리스트를 만들어준다. 이후 입력받은 텍스트에서 만약 크로아티아 알파벳이 있다면, 다른..

[파이썬, 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를 변환시키면 간단하게 해결이 가능하다.

반응형