백준 알고리즘 10871번 문제 바로가기(https://www.acmicpc.net/problem/10871)
이 문제는 for문과 if문을 같이 사용하여 해결하는 문제이다. 문제는 다음과 같다.
단계별로 차근차근 풀어왔다면 이전 문제들과는 조금 다르게 많은 입력값들과 조건들이 붙었다는 것을 볼 수 있다. 그래도 문제만 잘 이해한다면 어렵지 않은 문제이다. 내가 제출한 답안은 이렇다.
이번문제에도 여러개의 입력값을 받으니 input대신 sys.stdin.readline을 사용했다. 그런데 이번에도 역시 문자열로 받은 입력값들을 실수로 바꾸는 부분의 코드가 아름답지 않아서 구글링을 통해 map이라는 함수를 알게 됐다. map은 여러 데이터값을 한꺼번에 다른 형태로 변환시켜준다. 이런 특성때문에 list나 tuple에 많이 쓰인다. 문법형태는 map(변환하려는 함수, 데이터)이다. 이를 이용해 위의 답안을 좀 더 아름답게 고쳐보면 아래와 같이 작성할 수 있다.
한결 편안해졌다.. 본인은 이번 답안을 고민하는데 꽤 오래걸렸다. 마지막에 한줄에 출력하라는 조건이 붙어서이다. 파이썬은 print함수를 사용하면 무조건 줄바꿈이 되기 때문이다. 그래서 해결방법을 찾던 중 가장 간편해 보이는 매개변수를 찾아 사용하여 해결했다. 코드의 마지막줄을 보면 end=” ” 이라는 매개변수가 사용된것을 볼 수 있을것이다.