[python] 백준 2675번 / 문자열 반복

언덕·2021년 9월 13일

코딩테스트

목록 보기
5/8

1. 문제

https://www.acmicpc.net/problem/2675

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.


QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+-./: 이다.



2. 나의 풀이

😵 첫번째 풀이 (오답)

n = int(input())
for i in range(n):
    x, word = input().split()
    for w in word:
        print(w*int(x), end='')

(결과)

첫번째 출력(aaabbbccc) 후
줄바꿈하여 다음 입력이 작성되도록 해야 하는데
여기서 멘붕...😑

아주 간단한 코드로 줄바꿈을 할 수 있는데 혼자 계속 삽질함...



🤪 두번째 풀이 (오답)

n = int(input())
A = {}
for i in range(n):
    x, word = input().split()
    A[x] = word
    
for x, word in A.items():
    for w in word :
        print(w*int(x), end='')
    print()

딕셔너리를 만들어서 input()값을 저장해야 하나 혼자 삽질..

이 경우, key 값이 똑같을 경우 앞서 저장된 input() 값은 지워져 버린다는 치명적인 에러가 있는데... (딕셔너리는 중복 key 값 nono...)



😎 세번째 풀이 (정답)

n = int(input())
for i in range(n):
    x, word = input().split()
    for w in word :
        print(w*int(x), end='')
    print()

첫번째 풀이에서 print()만 추가해주면 되었던 것을...
혼자 print('/n') 넣었다 뺐다 삽질하였다.

은근히 print()의 사용법을 모르고 있었구나 😥

profile
언덕의 기록들 🐾

0개의 댓글