-
[파이썬/Python] 백준 10718번(We love kriii) - 단계별로 풀어보기깜빡의 취미/파이썬을 합니다. 2021. 6. 4. 13:10728x90
문제는 아래와 같다
바로 앞서 보았던 "Hello World!"와 다를 바 없어 보인다. 실제로 동일한 방법으로 풀 수 있는 방법부터 소개하고자 한다.
이 방법을 사용하기 위해서는 '이스케이프 코드'라는 것을 알아야 하는데, 이는 파이썬에서 사용하는 일종의 약속이다.
이스케이프 코드에는 여러 가지가 있는데, 이 문제를 풀기 위해 알아야 할 것은 '\n'이다. 아래의 코드를 보자.
print("강한친구 대한육군\n강한친구 대한육군")
'\n'은 '줄바꿈' 기호이다. 즉 텍스트가 전부 한 줄처럼 보이지만, 출력해 보면 다음과 같이 나온다.
강한친구 대한육군 강한친구 대한육군
이외에도 풀 수 있는 방법으로 3 연속 따옴표라는 녀석(이름은 나 혼자 붙인 것이므로, 자랑스럽게 주변에 3 연속 따옴표라고 말하는 실수를 범하지 않기를 바란다)이 대표적이다. 앞서 Hello World! 문제를 통해, 큰따옴표든 작은따옴표든 한 문장을 표현할 때에는 다음과 같이 하면 된다는 것을 확인했다.
print('강한친구 대한육군') print("강한친구 대한육군")
그런데 만약 100줄짜리 코드를 쳐야 한다면? 꼭 모든 줄에 print를 붙여가며 줄바꿈을 해주어야 하는 걸까?
다행히도 그렇지는 않다. 이 때에는 큰따옴표나 작은따옴표를 3 연속 입력(""" or ''')해주면 된다. 다시 문제로 돌아가 보자.
겉보기에는 이상해 보이는 아래의 코드를 보자.
print("""강한친구 대한육군 강한친구 대한육군""")
결괏값은 마찬가지로 다음과 같이 나온다.
강한친구 대한육군 강한친구 대한육군
추가로 이미 어느 정도 파이썬이라는 녀석이 익숙해진 독자라면, 다음과 같은 방법도 활용할 수 있다.
for을 활용하면 주어진 범위 동안 아래에 딸린 문장을 수행하게 된다. 여기서는 range 함수를 활용하여 두 번 식이 출력될 수 있도록 했다.
for의 활용법은 for x in y이며, x를 아래의 식에 추가로 활용하여 좀 더 복잡한 코딩을 완성하게 된다. y는 일종의 범위라고 이해하면 된다.
자세한 내용은 이후에 for 문제를 다룰 때 좀 더 소개해보도록 하겠다.
for a in range(2): print("강한친구 대한육군")
결과는 같다. 개인적으로는 가장 짧게 정답을 이끌어낼 수 있는 방법이었다.
프로그래밍이 재미있는 건, 한 가지 문제를 향해 정말 여러 가지 방법을 활용할 수 있다는 데 있다. 노련하게 코딩을 한다는 건, 가장 효율적이고 짧은 방법을 채택하는 것이 아닐까 싶다. 물론 그 안에서 가독성도 챙겨야 할 것이다.
한 문제를 풀 때에도 여러 방법을 시도해 보기를 추천한다. 한 문제를 풀 때마다 여러 문제를 푸는 경험을 얻을 수 있다. 끝으로 풀어보았던 내역을 올린다. 풀 때마다 길이를 줄여보는 연습을 하는 것도 나쁘지 않다. 중간에 실수도 있겠지만.
추가 꿀팁
- 당연히 제출을 한 번 해보았다면 알겠지만 처음 제출란에는 'C++17' 언어로 되어 있으니, 꼭 'Python3'로 바꿔야 한다.
- 문제 제출 전에 결과를 확인하기 위해 IDLE이나 파이썬을 활용하는 것도 좋다. 개인적으로 PyCharm을 사용 중인데, 검은색 바탕의 디자인이 마치 해킹을 하는 듯한 즐거움을 가져다 준다.
'깜빡의 취미 > 파이썬을 합니다.' 카테고리의 다른 글
[파이썬 / Python] map(int, input().split())에 대해 (1) 2021.06.18 [파이썬/Python] 백준 10172번(개) - 단계별로 풀어보기 (0) 2021.06.14 [파이썬/Python] 백준 10171번(고양이) - 단계별로 풀어보기 (0) 2021.06.06 [파이썬/Python] 백준 2557번(Hello World) - 단계별로 풀어보기 (0) 2021.05.30 파이썬 입문자에게 드리는 간단한 경험담 (1) 2021.05.30