계속 이런 형태의 문제에서 막히는 상황이 발생하고 있다.
그냥 간단하게 변수를 2개 만들고,
각각의 변수에 들어갈 수 있도록 split()을 사용하면 될 뿐이다.
아무래도 split()에 대해서 제대로 개념이 잡히지 않은 듯 하여 제대로 이번에 잡아봤다.
이 사이트는 점프 투 파이썬이라는 책의 사이트이다. 깔끔하게 정리되어있어 이렇게 한 번 정리를 할 겸 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만큼 반복)
따라서, 다음의 코드를 하면 훨씬 간단하게 풀 수 있다.
1
2
3
4
5
|
T = int(input())
for i in range(T):
N, C = input().split()
print(C * int(N))
|
cs |
출처: https://www.acmicpc.net/problem/17010
'코딩 문제풀이 및 연습 > Python 연습' 카테고리의 다른 글
[백준] 17530_Buffoon 파이썬 (list 초기화!!!를 제대로 알자) (0) | 2021.07.18 |
---|---|
[백준]17094_Serious Problem 파이썬 (계속 오류 나서 시간이 좀 걸렸던 문제...) (0) | 2021.07.18 |
[백준]17009_Winning Score.py 파이썬 (두 가지 방법으로 풀기) (0) | 2021.07.17 |
[백준]16170_오늘의 날짜는 파이썬 (datetime, timedelta, year, month, day) (0) | 2021.07.17 |
[백준] 17388_와글와글 숭고한 파이썬 (0) | 2021.07.17 |