Blog blog = new Korea()

알고리즘 풀이 5

[백준] 2675 문자열 반복 (Python)

테스트 케이스 수를 입력받은 후, 입력받은 문자열이 반복 횟수만큼 반복되게 하면 되는 문제다. 단, 문자열 전체가 반복되는 것이 아니라, 문자열의 각 자리가 횟수만큼 반복되면 된다. 3 ABC의 경우 AAA / BBB / CCC로 각 자리가 3번 반복되면 된다는 것이다. T = int(input()) # 테스트 케이스 수 for i in range(T): r, s = input().split() # 반복 횟수와 문자열 입력 p = "" # 새로운 문자열 추가를 위한 빈 문자열 변수 for j in s: p += j * int(r) # ABC일 경우 A가 먼저 j에 대입되고, 반복 횟수를 int로 변경하여 곱해주는 식 # 즉, j = A -> B -> C 순으로 대입 j * int(r) = AAA -> B..

알고리즘 2022.06.09

[백준] 10809 알파벳 찾기 (Python)

임의의 문자열을 입력하면 알파벳이 몇 번째 자리에 쓰였는지 확인하는 문제다. 예제를 설명하면, b, a, e, k, j, o, o, n 이라는 문자열 안에서 b가 몇 번째 자리인지, a가 몇 번째 자리인지 표시해야 하며, 알파벳 순서에 맞게 표기해야한다. 또한, 쓰이지 않은 알파벳은 -1 로 처리하면 된다. 즉, 예제 출력에서 1 -> 0 -> -1 ... 인 이유는 baekjoon 에서 a가 2번째 자리에 있고, b가 1번째 자리에 있고, c는 쓰이지 않았기 때문에 1 0 -1 ...로 표기된 것이다. (컴퓨터는 0부터 자리 수를 셉니다. ex) 0번째, 1번째, 2번째...) # 백준 10809 "알파벳 찾기" s = input() alphabet = list('abcdefghijklmnopqrstu..

알고리즘 2022.06.08

[백준] 11654 아스키코드 (Python)

이번 문제는 너무 쉽다. 아래 예제에 보이는 것과 같이 문자가 입력되면 그에 따른 아스키 코드 값을 출력하면 된다. # 백준 11654 "아스키코드" n = input() askii = ord(n) print(askii) 별다른 알고리즘도 없다. 그냥 파이썬 내장 함수인 ord 함수를 사용해주면 된다. ** ord(문자) = 하나의 문자를 인자로 받아 해당 문자에 해당하는 유니코드 정수를 반환하는 함수

알고리즘 2022.05.24

[백준] 1065 한수 (Python)

요즘 백준 단계별 풀어보기를 진행 중이다. 처음에는 자바를 사용하다가, 알고리즘을 풀 때 파이썬 코드가 간략해서 좋고 파이썬을 쓴 지 오래라 감이라도 잡고자 푸는 언어를 바꿨다. (이러다 또 나중에는 자바로 다시 풀어야 될 듯..ㅋㅋㅋ) 백준 1065: 한수 처음에는 한수가 뭔지도 몰랐다. 거기에 이해하기 조금 난해했던 부분은 아래와 같은 궁금증이 있었다. 연속된 두 개의 수가 등차수열인 수를 말한다는데, 그럼 한 자리 수와 두 자리 수는 모두 한수라는 건가? 아닐 거 같다는 생각에 구글링해서 찾아보니 의외로 맞았다. 즉, 1~9는 연속된 두 개의 수로 본다면 0과 1, 0과 2 ... 같이 증가하기 때문에 등차수열이고, 10~99는 1과 0, 1과 1 ... 같이 두 수밖에 없어 두 수의 차이가 일정하..

알고리즘 2022.05.23