오늘은 백준 부녀회장, 오름차순 문제를 풀어보았다.
1. 10989번 오름차순 문제
처음 내 방법대로 하니 메모리 초과가 발생하였다.
채점기준에 5Mb로 메모리가 한정되어있었다.
- 방법 1 : 메모리초과
초과 원인은 sort사용 , sys.stdin.readline이 아닌 그냥 input()사용 , for문안에 append사용이 있었다.
- 방법 2 : 계수정렬
sys.stdin.readline() 과 input()의 차이점
- 메모리 사용:
- sys.stdin.readline()을 사용할 때, 개행 문자를 포함해 입력을 처리하므로 필요한 경우에만 문자열에서 개행 문자를 제거하면 됩니다. 이는 필요하지 않은 메모리 할당을 줄일 수 있습니다.
- input()은 결과에서 개행 문자를 제거한 새로운 문자열을 생성하므로, 메모리 할당이 조금 더 이루어집니다.
- 사용 편의성:
- 일반적인 사용자와의 인터랙션을 위해서는 input() 함수가 더 친숙하고 사용하기 쉽습니다. 사용자에게 프롬프트를 제공하고 개행 문자를 자동으로 처리하기 때문입니다.
- 스크립트나 대규모 데이터 처리에는 sys.stdin.readline()이 더 적합합니다. 특히, 빠른 입력 처리가 필요하거나, 파일에서 대량의 데이터를 읽어야 할 때 유용합니다.
2. 2775번 부녀회장이 될테야
이 문제는 코드를 이해하기가 조금 어려웠다.
조금 더 연구가 필요하다!