-
백준 10814번 나이순정렬(python)Baekjoon 2020. 1. 14. 16:27728x90반응형
https://www.acmicpc.net/problem/10814
문제를 보자마자 되게 쉬울거 같다고 생각하고 바로 풀기 시작했다. 그냥 나이를 sort() 시키면 끝이네? 라고 생각 했지만 이렇게 문제를 풀면 내가 생각한 테스트케이스를 통과하지 못한다. 그것은 나이가 같은 사람이 입력되었을 때이다. 나이가 같으면 입력 순서대로 나와야하지만 순서대로 나오지 않아서 처음에 틀렸다. 그래서 알고리즘 문제에 익숙하지 않은 나는 그냥 버블정렬 비슷하게 이용해서 풀어야겠다 라고 생각하고 풀었는데 결과는 제대로 나온다. 하지만 시간초과가 계속뜬다. ㅠㅠ 그래서 결국 구글에 검색해서 찾아보게 되었다.
1. 한줄에 여러개 입력받기
나는 파이썬을 공부한지 얼마되지 않아서 그런가? 입력받는게 가장 어렵다.. map을 이용하면 된다.
- a, b = map(int, input().split(" "))
이런식으로 하면 된다. 입력받는게 어떻게 하는지 잘 기억이 안나서 조금 시간이 걸렸다. 잘 기억해둬야지
2. 람다(lambda)
람다(lambda)는 함수를 생성할 때 사용하는 예약어이다. 보통 함수를 한줄로 간결하게 만들 때 사용한다.
하지만 나는 사용해본적이 없는지라 거부감이 들지만, 코드를 짧게해주고 익숙하게 되도록 공부해야겠다.
lambda 인수1, 인수2 ... : 인수를 이용한 표현식
인수는 함수 인자값이고, 인수를 이용한 표현식은 return 값이라고 생각하자.
3. 코드
리스트 l 안에는 나이, 이름을 입력받은 튜플들이 존재한다. 그 튜플들이 하나씩 lambda 안에 a 로 들어와서 나이만 정렬이 되는 것이다.
반응형'Baekjoon' 카테고리의 다른 글
백준 뒤집힌 덧셈 1357번(Python, Java) (0) 2020.01.17 백준 베스트셀러 1302번(Python, Java) (0) 2020.01.15 백준 1157번 단어공부(Python, Java) (0) 2020.01.15 백준 1152번 단어의 개수(Python, Java) (0) 2020.01.15 백준 1929번 소수구하기(Python, Java) (0) 2020.01.15