안녕하세요. 지난 포스팅의 BOJ 10952번 : A + B - 5에서는 while문과 조건문을 함께 사용하여 문제를 풀어보았습니다. 오늘도 while문을 이용하지만 try ~ except ~ 구문을 활용하여 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : while문 예외처리 구문 : try ~ except ~ 예외처리는 프로그래밍에 있어서 굉장히 중요한 작업입니다. 어떤 문제가 생겼을 때 갑작스럽게 프로그램이 죽는 것과 예외를 처리하여 적절한 오류코드를 반환하는 것에는 큰 차이가 있기 때문이죠. 오늘은 가장 간단한 예외처리 구문인 try ~ except ~에 대해서 알아보고 문제를 풀어보도록 하겠습니다. try : 명령어1 except 에러 종류 : # 코드 실행 시 오류가 발생했을 때 자동으로..
안녕하세요. 지난 포스팅의 BOJ 10871번 : X보다 작은 수에서는 반복문과 조건문을 함께 이용해서 문제를 풀어보았습니다. 오늘도 지난 문제와 동일하게 반복문과 조건문을 함께 활용하지만 while문을 이용해서 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : while문 조건문 기본적으로 for문은 반복의 끝이 언제 들어올 지 정해진 경우에 적용합니다. 예를 들어, N번의 반복을 한다고 명시가 되어 있는 경우죠. 하지만, 어떤 문제는 반복의 끝이 언제인지 알 수 없는 경우가 많습니다. 어쩌면 특정 조건을 만족해야만 반복문을 탈출할 수 있습니다. while문은 이와 같은 경우에 활용할 수 있습니다. while True : A, B = map(int, input().split()) if A == B ..
안녕하세요. 지난 포스팅의 BOJ 2439번 : 별 찍기 - 2에서는 예제 출력의 패턴을 분석한 뒤 반복문을 활용하여 문제를 해결해보았습니다. 오늘은 반복문과 조건문을 함께 사용하여 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : for문 조건문 N, X = map(int, input().split()) numbers = map(int, input().split()) for number in numbers : if number < X : print(number, end = ' ') 일단 문제의 입력은 첫번째 줄에 N과 X가 들어가고 두번째 줄에는 N개의 정수가 담긴 배열인 numbers를 입력으로 받습니다. 일단, 첫번째 줄과 두번째 줄 모두 map(int, input().split()) 을 이용해..
안녕하세요. 지난 포스팅의 BOJ 2438번 : 별 찍기 - 1에서는 출력 패턴을 분석하는 별을 찍는 문제를 풀어보았습니다. 오늘도 역시 별 찍기 문제이지만 살짝 꼬인 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : for문 문자열 연산 예제 출력을 보시면 첫번째 줄에는 공백 4개 + 별 1개, 두번째 줄에는 공백 3개 + 별 2개로 구성되어 있습니다. 즉, 지난 문제와는 다르게 공백의 개수도 함께 반복문으로 출력을 해주어야합니다. 이를 위해서 저는 공백을 먼저 출력한 뒤 그 뒤에 별을 줄의 개수에 맞게 출력해보도록 하겠습니다. 기본적으로 총 N개의 줄이 있을 때 i번째 줄에는 공백 N - i개 + 별 i개로 구성되어있기 때문에 아래와 같이 문제를 풀 수 있습니다. N = int(input()) f..
안녕하세요. 지난 포스팅의 BOJ 11021번 : A + B - 7에서는 반복문과 문자열 포맷팅을 이용해서 문제를 풀어보았습니다. 오늘도 동일한 방식의 문제를 가지고 왔습니다. 지난 포스팅와 방식은 똑같으나 출력만 다르기 때문에 설명은 생략하도록 하겠습니다. 핵심 포인트 반복문 : for문 문자열 포맷팅 : format 함수 N = int(input()) for i in range(1, N + 1) : A, B = map(int, input().split()) print("Case #{}: {} + {} = {}".format(i, A, B, A + B)) 참고자료 및 그림출처 백준 코딩 문제
안녕하세요. 지난 포스팅의 BOJ 2742번 : 기찍 N에서는 range 함수를 내림차순으로 생성하는 방법에 대해서 알아보았습니다. 오늘은 반복문, 문자열 포맷팅을 함께 사용하여 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : for문 문자열 포맷팅 : format 함수 BOJ 2739번 : 구구단에서 사용했던 format 함수를 그대로 사용하겠습니다. 기본적으로 출력은 "Case #{}: {}"이기 때문에 {}에 각각 어떤 값을 넣을 지만 결정해주면 됩니다. 패턴을 보시면 첫번째 {}에는 몇 번째 A + B를 계산하고 있는지, 두번째 {2}에서는 A + B를 출력하고 있습니다. 따라서, 아래와 같이 문제를 풀 수 있겠네요. N = int(input()) for i in range(1, N + 1)..
안녕하세요. 지난 포스팅의 BOJ 2741번 : N 찍기에서는 입력받은 N을 기준으로 1부터 N까지 차례대로 출력하는 문제를 풀어보았습니다. 오늘은 그 역순으로 출력하는 방법에 대해서 알아보도록 하죠. 핵심 포인트 반복문 : for문 범위 생성 함수 : range 함수 BOJ 8393번 : 합에서 보았던 문제를 기억하시나요? 해당 문제에서 저희는 범위 생성 함수인 range 함수를 이용해서 1부터 N까지의 리스트를 만들어서 순서대로 iterable 객체에서 꺼내 합을 구하였습니다. 이때, 1부터 N까지의 리스트를 만들기 위해 range(start = 1, end = N + 1, step = 1)로 주었죠. 그런데, 이번에는 반대로 N부터 시작해서 1까지 구성된 값이 1씩 감소하는 리스트를 만들어야합니다...
안녕하세요. 지난 포스팅의 BOJ 8393번 : 합에서는 반복문을 이용해서 1부터 N까지의 합을 구하는 문제를 풀어보았습니다. 오늘 볼 문제는 지난 포스팅과 거의 유사하기 때문에 설명은 생략하도록 하겠습니다. 핵심 포인트 반복문 : for문 N = int(input()) for i in range(1, N + 1) : print(i) 참고자료 및 그림출처 백준 코딩 문제