본문 바로가기

알고리즘, 자료구조

[백준| 단계별로 풀어보기 3단계 반복문 | Python] 10951번 A + B 예외처리 문제 목적 백준 10951번 문제는 입력 데이터가 주어질 때, 각 쌍의 정수 A와 B에 대해 A+B를 출력하는 문제입니다. 다만, 입력 데이터의 끝이 정해져 있지 않아, 입력이 더 이상 주어지지 않을 때 프로그램이 종료되어야 합니다. 이 문제는 입력의 끝을 감지하는 방법과 예외 처리를 이해하고 연습하는 데 목적이 있습니다. 핵심 개념 EOF(End Of File) 처리: 입력 데이터의 끝을 감지하여 반복 입력을 종료하는 방법을 학습합니다. 예외 처리: 입력 과정에서 발생할 수 있는 예외를 처리하는 방법을 이해합니다. 반복문과 조건문 사용: 주어진 작업을 반복하고, 특정 조건에 따라 반복을 종료합니다. 문제 해결 절차 반복 입력 설정: 사용자로부터 반복적으로 두 정수를 입력받습니다. EOF 처리를 위한 예.. 더보기
[백준| 단계별로 풀어보기 3단계 반복문 | Python] 10952번 A + B 입력처리 문제 목적 입력된 두 정수 A와 B의 합을 출력하고, 입력의 끝에는 0 두 개가 주어지는 조건에서 프로그램을 종료하는 방법을 구현하는 것입니다. 이 문제는 반복문과 조건문을 사용하여 입력 처리를 중단하는 조건을 설정하는 방법에 대해 이해하고 연습하는 데 목적이 있습니다. 핵심 개념 반복문 사용: 특정 조건이 충족될 때까지 작업을 반복적으로 실행합니다. 조건문: 특정 조건을 평가하여 프로그램의 흐름을 제어합니다. 입력 처리: 사용자로부터 입력받은 데이터를 처리하고, 특정 조건에 따라 반복 입력을 종료합니다. 문제 해결 절차 무한 반복 설정: 사용자로부터 반복적으로 입력을 받기 위해 무한 반복문을 설정합니다. 데이터 입력 받기: 사용자로부터 두 정수 A와 B를 입력받습니다. 종료 조건 검사: 입력받은 두 정.. 더보기
[백준| 단계별로 풀어보기 3단계 반복문 | Python] 15552번 빠른 A + B 문제 목적 백준 15552번 문제는 빠르게 여러 쌍의 정수를 입력받아 각 쌍의 합을 출력하는 문제입니다. 이 문제는 대량의 데이터를 효율적으로 처리하는 방법을 연습하는 데 목적이 있으며, 특히 Python에서 입출력 속도를 향상시키기 위한 기법을 익히는 데 중점을 둡니다. 핵심 개념 빠른 입출력 처리: 표준 입력(input())과 출력(print()) 대신, 더 빠른 입출력 함수를 사용하는 방법을 이해합니다. 반복문: 주어진 데이터 쌍을 처리하기 위해 반복문을 사용하는 방법을 익힙니다. 문제 해결 절차 데이터 개수 입력 받기: 테스트 케이스의 개수 T를 입력받습니다. 데이터 쌍 처리: T번 반복하며 각 쌍의 정수 A, B를 입력받고, 그 합을 계산합니다. 결과 출력: 계산된 각 합을 출력합니다. 단, 빠.. 더보기
[백준| 단계별로 풀어보기 3단계 반복문 | Python] 25304번 영수증 문제 목적 총 구매 금액과 각 항목의 가격 및 수량을 바탕으로 실제 구매 금액과 제시된 총액이 일치하는지 검증하는 문제입니다. 이 문제는 기본적인 수학적 계산과 반복문, 조건문 사용법을 익히는 것을 목적으로 합니다. 실제 생활에서의 영수증 검증과 같은 실용적인 상황을 모델링하여 프로그래밍 논리력을 키울 수 있습니다. 핵심 개념 변수 사용 및 기본 연산: 구매한 각 항목의 가격과 수량을 저장하고, 이를 총액과 비교하기 위해 변수를 적절히 사용하고 기본적인 산술 연산을 수행합니다. 반복문: 여러 항목에 대한 가격과 수량을 입력받아 합산할 때 반복문을 사용합니다. 조건문: 최종 계산된 총액이 실제 지불해야 하는 총액과 일치하는지 검증하기 위해 조건문을 사용합니다. 문제 해결 절차 총액 입력 받기: 사용자로부터.. 더보기
[백준| 단계별로 풀어보기 2단계 | Python] 2884번 알람 시계 1. 문제목적 현재 설정된 알람 시간에서 45분 일찍 알람이 울리도록 시간을 조정하는 문제입니다. 이 문제는 조건문뿐만 아니라 시간에 대한 계산을 어떻게 처리하는지에 대해 이해할 수 있는 좋은 기회를 제공합니다. 2. 필요개념 시간 계산 시간과 분을 다룰 때는 60진법을 사용해야 합니다. 특히, 분에서 어떤 계산을 할 때 60을 넘어가거나 0 미만으로 내려가는 경우를 올바르게 처리해야 합니다. 조건문 이 문제에서는 조건문을 사용하여 45분을 빼는 과정에서 시간이 변경되어야 하는 경우(즉, 분이 0 미만이 될 경우)를 처리합니다. 입력 받기 input() 함수로 시간(H)과 분(M)을 입력받고, int() 함수를 사용하여 정수로 변환합니다. 문제 해결 절차 시간(H)과 분(M)을 입력 받습니다. 분(M).. 더보기
[백준| 단계별로 풀어보기 1단계 | Python] 2588번 곱셈 1. 문제목적 나머지 연산자와 나숫셈 연산자를 이해할 수 있다. 2. 필요개념 정수의 각 자리수 접근 정수의 각 자리수에 접근하기 위해서는 주로 문자열 변환 또는 나머지 연산과 정수 나눗셈 연산을 사용합니다. 하지만 이 문제의 경우는 입력받은 두 번째 정수의 각 자리수를 순차적으로 첫 번째 정수와 곱해야 하기 때문에, 나머지 연산과 정수 나눗셈을 사용하는 것이 더 적합합니다. 나머지 연산자 (%)와 정수 나눗셈 연산자 (//) **나머지 연산자 (%)**는 어떤 수를 다른 수로 나누었을 때의 나머지를 구합니다. 예를 들어, 123 % 10은 3을 반환합니다. **정수 나눗셈 연산자 (//)**는 나눗셈의 결과에서 소수점 이하를 버리고 정수 부분만 반환합니다. 예를 들어, 123 // 10은 12를 반환.. 더보기
[백준| 단계별로 풀어보기 1단계 | Python] 10430번 나머지 map() 1. 문제목적 map() 메서드를 공부해보자 2. 필요개념 map 함수는 파이썬에서 컬렉션 또는 반복 가능한(iterable) 다른 어떤 것의 모든 요소에 특정 함수를 적용하고 싶을 때 사용됩니다. 이 함수는 두 개의 주요 인자를 받습니다: 첫 번째는 적용할 함수, 두 번째는 그 함수가 적용될 반복 가능한 데이터입니다. map 함수의 결과는 map 객체이며, 이는 다시 리스트나 다른 컬렉션 타입으로 변환될 수 있습니다. map 함수의 기본적인 사용법은 다음과 같습니다. result = map(function, iterable) function: 적용할 함수입니다. 이 함수는 iterable의 각 요소에 적용됩니다. iterable: 함수가 적용될 반복 가능한 데이터입니다. 리스트, 튜플 등이 될 수 있습.. 더보기
[백준| 단계별로 풀어보기 1단계 | Python] 1000번 A+B 1. 문제목적 입력과 출력을 이해할 수 있다. 2. 필요개념 입출력: 문제에서 주어지는 입력을 받아오고, 결과를 출력하는 것이 중요합니다. 파이썬에서는 input() 함수를 사용하여 입력을 받고, print() 함수를 사용하여 결과를 출력할 수 있습니다. 변수와 연산자: 두 개의 숫자를 더하기 위해 변수를 사용하고, 더하기 연산자를 사용하여 두 수를 더할 수 있습니다. map() 함수 파이썬에서 여러 개의 데이터나 반복 가능한(iterable) 데이터(예: 리스트, 튜플 등)에 대해 지정된 함수를 적용하여 결과를 반환하는 내장 함수입니다. map() 함수는 주로 한 줄로 코드를 간결하게 작성할 때 유용하게 활용됩니다. map(함수, 반복가능한객체) 3. 코드작성 # 두 개의 정수를 입력받음 A, B = .. 더보기