본문 바로가기

파이썬

[백준| 단계별로 풀어보기 5단계 문자열 | Python] 2908번 상수 1. 문제 목적 백준 2908번 '상수' 문제는 주어진 두 숫자를 거꾸로 읽고, 그 중 더 큰 숫자를 출력하는 문제입니다. 이 문제의 목적은 문자열 조작과 기본적인 숫자 처리를 연습하여, 문자열을 다루는 기술과 숫자 비교 방법을 강화하는 데 있습니다. 2. 핵심 개념 핵심 메서드 및 개념: 문자열 슬라이싱 [::-1]: 문자열을 거꾸로 뒤집기 위해 사용되는 파이썬의 슬라이싱 기법입니다. 이는 문자열의 시작부터 끝까지 역순으로 접근하도록 합니다. max() 함수: 여러 값 중 최대값을 반환하는 내장 함수로, 두 개 이상의 숫자 중에서 가장 큰 값을 찾는데 사용됩니다. 3. 문제 해결 절차 입력 받기: 두 개의 숫자를 문자열로 입력받습니다. 숫자 뒤집기: 입력받은 각 숫자를 문자열로 취급하여 거꾸로 뒤집습니.. 더보기
[백준| 단계별로 풀어보기 5단계 문자열 | Python] 11720번 숫자의 합 1. 문제 목적 이 문제의 목적은 문자열 내의 각 문자(숫자)를 정수로 변환하고, 이들을 합하여 결과를 출력하는 과정에서 문자열 처리와 반복문 사용법을 익히는 데 있습니다. 2. 핵심 개념 문자열: 문자의 연속으로, 파이썬에서는 문자열을 큰따옴표(" ") 또는 작은따옴표(' ')로 묶어 표현합니다. 정수 변환: 문자열 내의 숫자 문자를 실제 정수 값으로 변환하기 위해 int() 함수를 사용합니다. for 문: 하나씩 문자를 순회하며 각 문자를 정수로 변환하고 누적합을 구하기 위해 사용됩니다. 3. 문제 해결 절차 사용자로부터 숫자의 개수를 입력받습니다(이 과정은 주어진 문제에서 중요하지 않으므로 생략할 수 있습니다). 숫자로 이루어진 문자열을 입력받습니다. 문자열의 각 문자를 순회하며 각각을 정수로 변환.. 더보기
[백준| 단계별로 풀어보기 5단계 문자열 | Python] 9086번 문자열 1. 문제 목적 이 문제의 목적은 문자열 인덱싱과 슬라이싱을 통해 문자열 내 특정 위치의 문자에 접근하는 방법을 익히는 데 있습니다. 이는 문자열 데이터를 처리하고 조작하는 기본적이면서도 필수적인 기술입니다. 2. 핵심 개념 문자열 인덱싱: 파이썬에서 문자열은 인덱스를 통해 각 문자에 접근할 수 있는 시퀀스입니다. 인덱스는 0부터 시작합니다. 예: 'Python'[0]은 'P', 'Python'[-1]은 'n' 슬라이싱: 문자열의 일부를 "잘라내어" 새로운 문자열을 생성하는 방법입니다. [시작:끝:간격] 형태로 사용됩니다. 간격은 생략 가능하며, 시작 또는 끝 인덱스가 생략되면 각각 문자열의 시작 또는 끝을 의미합니다. 3. 문제 해결 절차 테스트 케이스의 수를 입력받습니다. 각 테스트 케이스에 대해 문.. 더보기
[백준| 단계별로 풀어보기 4단계 1차원 배열 | Python] 10811번 바구니 뒤집기 1. 문제 목적 이 문제의 주된 목적은 리스트 조작 기술과 슬라이스를 통한 부분 리스트의 뒤집기를 학습하는 데 있습니다. 문제를 해결함으로써, 리스트의 특정 부분을 선택하고, 그 부분을 수정하는 방법을 익히게 됩니다. 이는 데이터 구조와 알고리즘을 다루는 데 있어 필수적인 기술 중 하나입니다. 2. 핵심 개념 리스트 슬라이싱: 리스트의 일부분을 선택하는 기술입니다. 리스트[start:end] 형태로 사용하며, start 인덱스부터 end-1 인덱스까지의 요소를 선택합니다. 리스트 뒤집기: 선택된 리스트 부분을 반대 순서로 배치합니다. 이를 위해 슬라이스와 [::-1] (뒤집기) 연산을 사용합니다. 3. 문제 해결 절차 초기 바구니 상태를 리스트로 표현합니다. 주어진 명령의 수만큼 반복하여 각 명령을 처리.. 더보기
[백준| 단계별로 풀어보기 4단계 1차원 배열 | Python] 10813번 공 바꾸기 1. 문제 목적 이 문제는 리스트의 인덱싱과 요소 교환을 통해 파이썬에서의 기본적인 데이터 조작 방법을 학습하는 데 중점을 둡니다. 이를 통해 사용자는 데이터 구조에 저장된 요소에 접근, 수정하는 기본적인 방법을 익히게 됩니다. 2. 핵심 개념 리스트 인덱싱: 리스트에서 특정 위치의 요소에 접근하는 방법. 리스트[인덱스]의 형태로 사용됩니다. 파이썬의 인덱스는 0부터 시작합니다. 요소 교환: 파이썬에서 두 변수의 값을 교환하는 가장 간단한 방법은 a, b = b, a의 형태로 사용하는 것입니다. 이 문제에서는 이 방법을 사용하여 두 바구니의 공을 교환합니다. 3. 문제 해결 절차 초기 설정: N개의 바구니를 준비하고 각 바구니에 1부터 N까지 순서대로 번호를 부여합니다. 교환 명령 실행: 주어진 교환 명.. 더보기
[백준| 단계별로 풀어보기 3단계 반복문 | Python] 10951번 A + B 예외처리 문제 목적 백준 10951번 문제는 입력 데이터가 주어질 때, 각 쌍의 정수 A와 B에 대해 A+B를 출력하는 문제입니다. 다만, 입력 데이터의 끝이 정해져 있지 않아, 입력이 더 이상 주어지지 않을 때 프로그램이 종료되어야 합니다. 이 문제는 입력의 끝을 감지하는 방법과 예외 처리를 이해하고 연습하는 데 목적이 있습니다. 핵심 개념 EOF(End Of File) 처리: 입력 데이터의 끝을 감지하여 반복 입력을 종료하는 방법을 학습합니다. 예외 처리: 입력 과정에서 발생할 수 있는 예외를 처리하는 방법을 이해합니다. 반복문과 조건문 사용: 주어진 작업을 반복하고, 특정 조건에 따라 반복을 종료합니다. 문제 해결 절차 반복 입력 설정: 사용자로부터 반복적으로 두 정수를 입력받습니다. EOF 처리를 위한 예.. 더보기
[백준| 단계별로 풀어보기 3단계 반복문 | Python] 15552번 빠른 A + B 문제 목적 백준 15552번 문제는 빠르게 여러 쌍의 정수를 입력받아 각 쌍의 합을 출력하는 문제입니다. 이 문제는 대량의 데이터를 효율적으로 처리하는 방법을 연습하는 데 목적이 있으며, 특히 Python에서 입출력 속도를 향상시키기 위한 기법을 익히는 데 중점을 둡니다. 핵심 개념 빠른 입출력 처리: 표준 입력(input())과 출력(print()) 대신, 더 빠른 입출력 함수를 사용하는 방법을 이해합니다. 반복문: 주어진 데이터 쌍을 처리하기 위해 반복문을 사용하는 방법을 익힙니다. 문제 해결 절차 데이터 개수 입력 받기: 테스트 케이스의 개수 T를 입력받습니다. 데이터 쌍 처리: T번 반복하며 각 쌍의 정수 A, B를 입력받고, 그 합을 계산합니다. 결과 출력: 계산된 각 합을 출력합니다. 단, 빠.. 더보기
[백준| 단계별로 풀어보기 2단계 | Python] 2884번 알람 시계 1. 문제목적 현재 설정된 알람 시간에서 45분 일찍 알람이 울리도록 시간을 조정하는 문제입니다. 이 문제는 조건문뿐만 아니라 시간에 대한 계산을 어떻게 처리하는지에 대해 이해할 수 있는 좋은 기회를 제공합니다. 2. 필요개념 시간 계산 시간과 분을 다룰 때는 60진법을 사용해야 합니다. 특히, 분에서 어떤 계산을 할 때 60을 넘어가거나 0 미만으로 내려가는 경우를 올바르게 처리해야 합니다. 조건문 이 문제에서는 조건문을 사용하여 45분을 빼는 과정에서 시간이 변경되어야 하는 경우(즉, 분이 0 미만이 될 경우)를 처리합니다. 입력 받기 input() 함수로 시간(H)과 분(M)을 입력받고, int() 함수를 사용하여 정수로 변환합니다. 문제 해결 절차 시간(H)과 분(M)을 입력 받습니다. 분(M).. 더보기