본문 바로가기

문자열

(9)
2024.9.4 백준(Python) 1427 소트인사이드 소트인사이드  문제배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.입력첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.출력첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.예제 입력 1 2143예제 출력 1 4321예제 입력 2 999998999예제 출력 2 999999998예제 입력 3 61423예제 출력 3 64321예제 입력 4 500613009예제 출력 4 965310000 정답 코드# 사용자로부터 입력을 받습니다.number = input()# 입력받은 숫자를 문자열로 변환한 뒤, 각 숫자를 리스트의 원소로 변환합니다.num_list = list(map(str, str(number)))# 리스트를..
2024.7.21 백준(Python) 10798 세로 읽기 정답 코드# 빈 리스트를 생성하여 단어들을 저장할 준비를 합니다.word_list = []# 가장 긴 단어의 길이를 저장할 변수를 초기화합니다.max_len = 0# 5개의 단어를 입력받습니다.for i in range(5): # 입력받은 단어를 리스트에 추가합니다. word_list.append(input()) # 현재 단어의 길이가 max_len보다 크면, max_len을 갱신합니다. if max_len
2024.7.20 백준(Python) 25206 너의 평점은 너의 평점은 문제인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다!치훈이의 전공평점을 계산해주는 프로그램을 작성해보자.전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다.인하대학교 컴퓨터공학과의 등급에 따른 과목평점은 다음 표와 같다.A+4.5A04.0B+3.5B03.0C+2.5C02.0D+1.5D01.0F0.0P/F 과목의 경우 등급이 P또는 F로 표시되는데, 등급이 P인 과목은 계산에서 제외해야 한다.과연 치훈이는 무사히 졸업할 수 있을까?입력20줄에 걸쳐 치훈이가 수강한 전공과목의 과목명, 학점, 등급이 공백으로 구분되어 주어진다.출력치훈이의 전..
2024.7.20 백준(Python) 1316 그룹 단어 체커 그룹 단어 체커 문제그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다.단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오.입력첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다.출력첫째 줄에 그룹 단어의 개수를 출력한다.예제 입력 1 3happynewyear예제 출력 1 3예제 ..
2024.7.19 백준(Python) 2941 크로아티아 알파벳 크로아티아 알파벳 문제예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.크로아티아 알파벳변경čc=ćc-dždz=đd-ljljnjnjš s=žz=예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.입력첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에..
2024.7.13 백준(Python) 9093 단어 뒤집기 단어 뒤집기문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다.출력각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다.예제 입력 1 2I am happy todayWe want to win the first prize예제 출력 1 I ma yppah yadoteW tnaw ot niw eht tsrif ezirp 정답 코드import sys# 테스트 케이스의 수..
2024.7.7 백준(Python) 9933 민균이의 비밀번호 민균이의 비밀번호문제창영이는 민균이의 컴퓨터를 해킹해 텍스트 파일 하나를 자신의 메일로 전송했다. 파일에는 단어가 한 줄에 하나씩 적혀있었고, 이 중 하나는 민균이가 온라인 저지에서 사용하는 비밀번호이다.파일을 살펴보던 창영이는 모든 단어의 길이가 홀수라는 사실을 알아내었다. 그리고 언젠가 민균이가 이 목록에 대해서 얘기했던 것을 생각해냈다. 민균이의 비밀번호는 목록에 포함되어 있으며, 비밀번호를 뒤집어서 쓴 문자열도 포함되어 있다.예를 들어, 민균이의 비밀번호가 "tulipan"인 경우에 목록에는 "napilut"도 존재해야 한다. 알 수 없는 이유에 의해 모두 비밀번호로 사용 가능하다고 한다.민균이의 파일에 적혀있는 단어가 모두 주어졌을 때, 비밀번호의 길이와 가운데 글자를 출력하는 프로그램을 작성하..
2024.7.4 백준(Python) 1373 2진수 8진수 2진수 8진수  문제2진수가 주어졌을 때, 8진수로 변환하는 프로그램을 작성하시오.입력첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.출력첫째 줄에 주어진 수를 8진수로 변환하여 출력한다.예제 입력 1 11001100예제 출력 1 314  정답 코드# 사용자로부터 입력받은 이진수 문자열num_2 = input()# 입력받은 이진수 문자열의 길이Len_num2 = len(num_2)# 3의 배수가 아닌 경우, 왼쪽에 '0' 또는 '00'을 추가하여 문자열의 길이를 맞춰줍니다.if Len_num2 % 3 == 2: num_2 = '0' + num_2if Len_num2 % 3 == 1: num_2 = '00' + num_2# 변환된 8진수를 저장할 리스트num_..