내용으로 건너뛰기
테페리넷
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
Fold/unfold all
역링크
미디어 관리자
사이트맵
등록
로그인
>
미디어 관리자
사이트맵
현재 위치:
테페리넷
»
Problem Solving
»
문제
»
백준 온라인 저지 (BOJ)
»
수 정렬하기 2
ps:problems:boj:2751
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 수 정렬하기 2 ====== ===== 풀이 ===== * 그냥 입력받고 정렬해서 출력하면 되는 기초 문제. [[ps:problems:boj:2750]]에서 n이 좀더 늘어나서 O(n^2) 소팅 알고리즘으로는 안풀리지만, 어차피 내장된 소트 함수를 사용하는 입장에서는 차이가 없다. * 하지만, 출력해야 하는 줄 수가 최대 백만으로 꽤나 크므로, 입출력 최적화를 테스트해보기에 괜찮은 문제이다. * 내 경우는 [[ps:스타일_가이드#입출력_최적화]]에서, 코드의 깔끔함을 훼손하는 최적화는 하지 않기로 결론 내린적이 있지만, 이 문제에서는 깔끔함을 유지하면서도 어느정도 최적화가 가능한 부분이 있었다. [[ps:problems:boj:2750]]과 비교해보면 인풋을 정수 리스트에 저장해서 소팅하고 출력하는 대신에, 인풋을 문자열 리스트로 저장하고, int값을 키로 주어서 소팅하고 출력하면, 출력할때에 정수->문자열 변환이 사라지기 때문에 꽤나 빨라지는 것을 확인했다. (1500ms 정도에서 1000ms 정도로 단축) ===== 코드 ===== <dkpr py> """Solution code for "BOJ 2751. 수 정렬하기 2". - Problem link: https://www.acmicpc.net/problem/2751 - Solution link: http://www.teferi.net/ps/problems/boj/2751 """ import sys def main(): N = int(sys.stdin.readline()) nums = [sys.stdin.readline() for _ in range(N)] print(''.join(sorted(nums, key=int))) if __name__ == '__main__': main() </dkpr> {{tag>BOJ ps:problems:boj:실버_5}}
ps/problems/boj/2751.txt
· 마지막으로 수정됨: 2021/08/31 08:14 저자
teferi
문서 도구
문서 보기
역링크
Fold/unfold all
맨 위로