반응형

ALGORITHM 292

백준 BAEKJOON 25371번 k진수 정수의 자릿수 나누기 [PYTHON/파이썬]

백준 BAEKJOON 25371번 k진수 정수의 자릿수 나누기 [PYTHON/파이썬] https://www.acmicpc.net/problem/25371 25371번: k진수 정수의 자릿수 나누기 양의 정수 n과 k가 주어진다. n을 k진수로 변환한 수를 a라고 하자. a의 각 자릿수를 0을 기준으로 나눈 결과를 집합 b라고 하자. 0이 연속으로 나와서 공백이 생기는 경우는 집합 b에 포함되지 않는 www.acmicpc.net 파이썬 진수변환(2진법, 3진법, 5진법, 10진법)[n진법] python에서는 기본적으로 int() 라는 함수를 지원한다int(string, base)2051104185276710진수로 변경이 가능하다.2, 8, 16진수는 bin(), oct(), hex() 함수를 지원한다.0b..

백준 BAEKJOON 1316번 그룹 단어 체커 [PYTHON/파이썬]

백준 BAEKJOON 1316번 그룹 단어 체커 [PYTHON/파이썬] https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 단어의 개수를 그룹 단어에 저장한 뒤 word 를 입력 받고 0번째 글자부터 for문을 돌렸다. 연속된 글자가 같은 글자면 continue로 넘겼지만 그 이후 글자가 같은 글자가 나온다면 그것은 그룹 단어가 아니기 때문에 -1 해줬다. N = int(input()) group_word = N f..

백준 BAEKJOON 2941번 크로아티아 알파벳 [PYTHON/파이썬]

백준 BAEKJOON 2941번 크로아티아 알파벳 [PYTHON/파이썬] https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 시작은 크로아티아 알파벳에 해당하는 문자들을 리스트에 담았다. 리스트에 담은 요소들을 입력 받은 문자열과 비교 후 replace() 를 사용하여 '*' 문자로 치환하였다. 문제만 읽어보았을 때는 '*' 로 치환된 문자의 개수만 세주면 되는 문제인 줄 알았는데 다시 읽어보니 치환 후 전체의..

백준 BAEKJOON 5622번 다이얼 [PYTHON/파이썬]

백준 BAEKJOON 5622번 다이얼 [PYTHON/파이썬] https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 먼저 문제 속 다이얼이 담겨있는 알파벳을 리스트를 만들었다. for 문을 통해 각 글자가 어디에 해당하는지 index를 구한 뒤 +3을 해서 출력하였다. dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] word = input() result = 0 for i in range(len(word)) : for j in dial : if word[i] in ..

백준 BAEKJOON 2908번 상수 [PYTHON/파이썬]

백준 BAEKJOON 2908번 상수 [PYTHON/파이썬] https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net a, b 값을 문자열로 받은 뒤 [::-1] 를 사용하여 문자열을 뒤집어 다시 저장하였다. 그리고 a,b를 int로 변환 후 max 함수를 사용하여 값이 높은 것을 출력하였다. a, b = input().split() a, b = a[::-1], b[::-1] print(max(int(a),int(b)))

백준 BAEKJOON 1152번 단어의 개수 [PYTHON/파이썬]

백준 BAEKJOON 1152번 단어의 개수 [PYTHON/파이썬] https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 변수 하나에 문자열을 input().split()를 사용하면 리스트 형태로 값이 저장이 된다. 그리고 len(리스트명)을 사용하여 리스트의 길이를 구하였다. word = input().split() print(len(word))

백준 BAEKJOON 1157번 단어 공부 [PYTHON/파이썬]

백준 BAEKJOON 1157번 단어 공부 [PYTHON/파이썬] https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 대소문자를 구분하지 않기에 word 입력값에 upper()를 사용하여 모든 알파벳을 대문자로 만들었다. new_word 에는 set 함수를 사용하여 중복된 알파벳을 제거하였다. new_word를 기반으로 하여 word의 알파뱃 중 같은 알파벳이 얼마나 쓰인지 확인하고 if 문을 통해 판별하는 방법으로 문제를 풀었다. word = input().upper() new_..

백준 BAEKJOON 2675번 문자열 반복 [PYTHON/파이썬]

백준 BAEKJOON 2675번 문자열 반복 [PYTHON/파이썬] https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 문자열 S의 원소를 하나씩 불러와 R을 곱해주는 식으로 풀었다. for _ in range(int(input())) : R, S = input().split() result = '' for i in S : result += i * int(R) print(result)

백준 BAEKJOON 10809번 알파벳 찾기 [PYTHON/파이썬]

백준 BAEKJOON 10809번 알파벳 찾기 [PYTHON/파이썬] https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 아스키코드로 이루어진 소문자 알파벳의 리스트를 만들었다. find 함수를 사용해 입력 받은 문자열의 위치를 result 값에 저장 후 출력하였다. word = input() alphabet = list(range(97, 123)) # a = 97, z = 122 result = [] for i in alphabet ..

백준 BAEKJOON 11720번 숫자의 합 [PYTHON/파이썬]

백준 BAEKJOON 11720번 숫자의 합 [PYTHON/파이썬] https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 둘째 줄은 문자열로 입력을 받고 for 문을 통해서 int 값으로 변환 후 더해서 풀었다. N = int(input()) nums = input() result = 0 for i in nums : result += int(i) print(result)

반응형