백준[16496] 큰 수 만들기 (Python3)
생각보다 쉬운 문제 파이썬이 아닌 언어로 풀었으면 조금 돌아가야 했을 것이다. 시도한 방법 1 입력된 수들을 가장 긴 자릿수만큼 자신의 일의자리 수를 더해준다. 예를 들어 입력이 432, 9999 가 들어온다면, 4322, 9999로 맞춰준다. 그다음 내림차순 정렬을 해, 원본 수를 이어붙인다. 반례로 98, 9888889가 들어오면 98이 먼저 와야 하는데 뒤로 가야 하는 문제가 발생했다. 다른 사람 코드 보는 과정에서 알았는데, 끝자리 수만 추가해주는게 아니라 해당 수를 적당히 이어붙이고, 앞에 10개만 가져와서 비교하면 됐었다. (10개만 가져오는 이유는, 수의 범위가 10억 이하이기 떄문) 시도한 방법 2 두 수 A, B가 있을 때, AB와 BA의 값을 비교한 다음 위치를 바꾼다. N의 범위가 매..
백준[2513] 통학버스 (Python3)
2023 카카오 코테 2번? 하고 똑같다. 코테에서도 무난하게 풀어서 그런지, 생각보다 큰 어려움은 없었다. 지문을 분석해 보면, 버스는 가장 먼 거리에 있는 아이들을 우선으로 태우는 것이 유리하다. 또한, 버스 정원을 다 채우기 위해 왼쪽 오른쪽 왔다 갔다 할 필요가 없다. 학교를 기준으로 왼쪽, 오른쪽에 대한 큐 2개를 만들었다. 단지의 위치가 학교보다 왼쪽에 있다면, (학교 위치 - 단지 위치, 학생 수) 형태로 넣고 학교보다 오른쪽에 있다면, (단지 위치 - 학교 위치, 학생 수) 형태로 넣는다. 그 후 위치 값을 기준으로 정렬한다. 그 후, 단지의 학생 수와 버스 정원을 비교해, 다 태울 수 있다면, 해당 단지에 대한 정보를 pop 하고, 다 태우지 못하면 남은 정원만큼 학생 수를 차감하는 식으..