계속 이런 형태의 문제에서 막히는 상황이 발생하고 있다.

그냥 간단하게 변수를 2개 만들고,

각각의 변수에 들어갈 수 있도록 split()을 사용하면 될 뿐이다.

아무래도 split()에 대해서 제대로 개념이 잡히지 않은 듯 하여 제대로 이번에 잡아봤다.

 

https://wikidocs.net/13#split

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

이 사이트는 점프 투 파이썬이라는 책의 사이트이다. 깔끔하게 정리되어있어 이렇게 한 번 정리를 할 겸 split 부분을 봤다.


split()

: a.split()처럼 괄호 안에 아무 값도 없으면 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나눈다.

: b.split(':')처럼 특정값을 괄호 안에 넣으면, 그 값(이 상황에서는 ':')을 기준으로 문자열이 나뉜다.


이제 위의 split을 사용해서 위의 문제를 푼 코드이다:

1
2
3
4
5
for i in range(int(input())):
    num, char = input().split()
    for j in range(int(num)):
        print(char, end='')
    print()
cs

 

다만 이 코드를 조금 더 짧고 빠르게 실행되도록 할 수 있는 방안을 다른 사람들이 맞춘 코드에서 찾을 수 잇었다.

바로 for문을 사용하지 않고 바로 처리해버리는 것이다.

가능한가 싶었는데... 충분히 가능했다. 

print문의 문자열처리에 대한 부분을 잘 공부해보도록 하자. (string * int ==> string string string ~~~ int만큼 반복)

따라서, 다음의 코드를 하면 훨씬 간단하게 풀 수 있다.

 

+ Recent posts