728x90
반응형
안녕하세요. 지난 포스팅의 BOJ 10809번 : 알파벳 찾기에서는 아스키코드 변환 함수인 ord 함수를 이용해서 문제를 풀어보았습니다. 오늘은 문자열 내장함수인 join 함수를 이용해서 문제를 풀어보도록 하겠습니다.
완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다.
핵심 포인트
- 문자열 자료형
- join 함수
제출 코드
for _ in range(int(input())) :
R, S = input().split()
print(''.join([s * int(R) for s in S]))
해설
일단, 테스트케이스의 개수를 입력받은 뒤 문자열 S와 해당 문자열에서 각 문자를 몇 번 반복해서 출력할 것인지에 대한 변수인 R을 입력받습니다. 다음으로 할 것은 각 문자를 반복해서 새로운 문자열을 출력하면 되겠죠. 저희는 이를 위해서 문자열 내장함수인 join 함수를 적용해볼 수 있습니다.
string.join(iterable) 함수는 iterable 자료형의 각 원소 사이에 새로운 string을 하나씩 추가하여 새로운 문자열을 만드는 함수입니다. 예를 들어서, ' '.join([1, 2, 3])과 같은 코드가 있다고 하면 각 원소인 1, 2, 3 사이에 공백 ' '을 추가한 문자열인 '1 2 3'이 만들어지게 됩니다. 이를 위해 iterable 자료형을 만들어주어야겠죠. 저는 여기서 리스트 압축을 사용해 입력된 문자열 S에서 문자 s를 하나씩 불러와 R번 반복해주는 리스트를 만들어주었습니다. 그리고 리스트의 각 원소 사이에는 공백없이 연결해주어야겠죠.
참고자료 및 그림출처
728x90
반응형
'Programming > Coding Problem' 카테고리의 다른 글
BOJ 1152번 : 단어의 개수 (0) | 2022.06.28 |
---|---|
BOJ 1157번 : 단어 공부 (0) | 2022.06.28 |
BOJ 10809번 : 알파벳 찾기 (0) | 2022.06.26 |
BOJ 11720번 : 숫자의 합 (0) | 2022.06.26 |
BOJ 11654번 : 아스키 코드 (0) | 2022.06.26 |