본문 바로가기

파이썬26

[백준] 1427번 소트인사이드 - Python(2편) 문제 링크:https://www.acmicpc.net/problem/1427 1편이랑 이어지는 내용입니다.2024.12.09 - [코딩 테스트] - [백준] 1427번 소트인사이트 - Python(1편)  2편에서는 리스트 컴프리헨션과 내장 함수를 사용하여 더욱 간결하게 만들어 보겠습니다. 아래는 리스트 컴프리헨션과 sorted() 내장 함수를 사용한 코드입니다.import sysnum = sys.stdin.readline().strip()print("".join(sorted(num, reverse=True))) 이 코드를 한 번 확인해보겠습니다.입력받기import sysnum = sys.stdin.readline().strip() 'import sys': sys 모듈을 가져옵니다.'sys.stdin.r.. 2024. 12. 9.
선택 정렬(Selection Sort)이란 무엇인가? 선택 정렬은 데이터를 정렬하기 위한 간단하고 직관적인 알고리즘이며, 입력 배열을 정렬된 부분과 정렬되지 않은 부분의 두 부분으로 나누어 작동합니다.  작동 방식을 알아보겠습니다.최솟값(또는 최댓값) 찾기정렬되지 않은 부분에서 가장 작은(혹은 가장 큰) 요소를 찾습니다.교체찾은 최솟값(혹은 최댓값)을 정렬되지 않은 부분의 첫 번째 요소와 교체합니다.경계 이동정렬된 부분의 경계를 오른쪽으로 한 위치 이동합니다.반복배열이 완전히 정렬될 때까지 1~3단계를 반복합니다. 예를 들어, 배열 [7, 5, 6, 4, 9, 2]를 오름차순으로 정렬하는 경우:첫 번째 반복: 최솟값 2를 찾고, 첫 번째 요소 7과 교체합니다. → [2, 5, 6, 4, 9, 7]두 번째 반복: 최소값 4를 찾고, 두 번째 요소 5와 교체합.. 2024. 12. 9.
[백준] 11399번 ATM - Python(2편) 백준 문제 연결 링크입니다.https://www.acmicpc.net/problem/11399  2024.12.09 - [코딩 테스트] - [백준] 11399번 ATM - Python(1편) [백준] 11399번 ATM - Python(1편)https://www.acmicpc.net/problem/11399이 문제는 주어지는 데이터를 오름차순으로 정렬한 후, 정렬된 리스트를 순회하면서 각 사람의 대기 시간을 더해나가면 되는 쉬운 문제입니다. 아마 대부분의 사람arctis7p.tistory.com앞의 글이랑 이어지는 글입니다. 1편에서는 주어지는 데이터를 오름차순으로 정렬한 후, 정렬된 리스트를 순회하면서 각 사람의 대기 시간을 더해나갔습니다만, 제가 이 문제를 처음 풀 당시에는 이렇게 풀지 않았고 정렬을.. 2024. 12. 9.
[백준] 2750번 수 정렬하기 - Python(2편) 저번 글에서 버블 정렬을 이용한 백준 2750번 풀이를 보였었습니다. 2024.12.08 - [코딩 테스트] - [백준] 2750번 수 정렬하기 - Python(1편) [백준] 2750번 수 정렬하기 - Python(1편)문제를 확인해 봅시다. N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하라고 합니다.https://www.acmicpc.net/problem/2750    푸는 방법이 여러 가지가 나올 수 있는 문제입니다arctis7p.tistory.com 이번에는 리스트의 메서드인 sort()를 사용한 풀이를 해보겠습니다.아래는 백준 2750번 문제입니다.https://www.acmicpc.net/problem/2750 "sort() 메서드를 이용한 풀이" 다음은 전체 코드입니다.. 2024. 12. 9.
[백준] 2750번 수 정렬하기 - Python(1편) 문제를 확인해 봅시다. N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하라고 합니다.https://www.acmicpc.net/problem/2750   푸는 방법이 여러 가지가 나올 수 있는 문제입니다. 일단 버블 정렬을 이용해 오름차순으로 정렬한 후 출력하는 코드를 작성해 보겠습니다. 아래는 버블 정렬에 관한 설명 글입니다.2024.12.08 - [코딩 테스트] - 버블 정렬(Bubble_Sort)이란 무엇인가? 버블 정렬(Bubble_Sort)이란 무엇인가?버블 정렬(Bubble SortSort)은 간단하지만 효율성이 떨어지는 정렬 알고리즘입니다. 버블 정렬을 한 마디로 정의하자면 “맨 뒤부터 정리하는 정렬” 혹은 “옆과 비교하여 왼쪽이 더 크면 좌우 교arctis7p.tist.. 2024. 12. 8.
sys.stdin.readline()으로 입력 속도 높이기: 개행문자 처리부터 주의사항까지 코딩 테스트 문제를 풀다 보면import sysinput = sys.stdin.readline이런 코드를 작성해서 input을 재정의 하는 일이 종종 발생합니다.  왜 input을 다시 정의하는 걸까요?사실 이런 코드는 알고리즘 문제 풀이에서 시간 초과를 피하기 위해 자주 사용됩니다. sys.stdin.readline()이 input() 함수보다 훨씬 빠르며 대량의 데이터를 입력받을 때 특히 유용하기 때문입니다.    하지만, 주의사항도 있습니다. input() 함수를 재정의 하는 만큼 달라지는 점이 존재하는데요. sys.stdin.readline()은 사용자가 입력한 그대로의 데이터를 읽는 반면, input() 함수는 자동으로 개행문자를 제거합니다.    여기서 개행문자란 텍스트에서 줄 바꿈을 나타내는.. 2024. 12. 8.