안녕하세요. 지난 포스팅의 BOJ 2480번 : 주사위 세개에서는 3개의 주사위 눈을 비교하여 각 경우별로 다른 상금을 출력하는 문제를 풀어보았습니다. 오늘은 새로운 주제로 반복문(for문, while문)과 관련된 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : for문 문자열 포맷팅 : format for variable in iterable : do statement 반복문 중 for문의 기본적인 형태는 위와 같습니다. 보시면 iterable 자료형에서 variable을 한 개씩 꺼내오고 명령어를 실행합니다. 그리고 다음 variable을 꺼내오고 명령어를 다시 실행하죠. 이러한 과정을 iterable 자료형의 원소의 개수만큼 실행하게 됩니다. 여기서 iterable 자료형에 대한 자세한 설명은..
안녕하세요. 지난 포스팅의 BOJ 2525번 : 오븐 시계에서는 복잡한 시간 문제를 조건문을 활용하여 풀어보았습니다. 오늘도 역시 조건문을 활용한 문제를 풀어보도록 하겠습니다. 핵심 포인트 조건문 max 함수 문제에 조건에 따르면 3개의 주사위 눈의 숫자(A, B, C)를 비교해야합니다. 따라서, 조건문에 따라서 받을 상금을 나누어야한다는 것을 예측해볼 수 있습니다. - 3개의 주사위 눈의 숫자가 전부 같을 때 : A == B == C - 3개 중 2개의 주사위 눈의 숫자가 같을 때 : A == B or B == C or C == A - 3개의 주사위 눈의 숫자가 전부 다를 때 : 위 조건에 만족하지 않으면 됨 $\rightarrow$ else문 마지막으로 3개의 주사위 눈의 숫자가 전부 다를 때 가장 ..
안녕하세요. 지난 포스팅의 BOJ 2884번 : 알람 시계에서는 복잡한 조건문을 가진 문제를 풀어보았습니다. 오늘은 더욱 범위가 넓어진 시간 문제를 풀어보도록 하겠습니다. 핵심 포인트 조건문 시계 계산 일단, 문제를 보도록 하죠. 기본적으로 현재 시간을 시(H)와 분(M)으로 주어지고 오븐이 걸리는 시간(T)이 주어집니다. 그리고 요리가 완성되는 시간을 출력해야하죠. 가장 먼저 해볼것은 분을 계산해보도록 하겠습니다. 일단, M + T가 분이 될 것입니다. 그런데, T의 범위는 1,000분이 될 수도 있기 때문에 T를 60분으로 나눈 나머지 M + T % 60을 더해주면 됩니다. 그런데 여기서 M + T % 60 역시 60분을 넘어설수도 있겠죠? 따라서, 다시 60분으로 나눈 나머지를 계산해야합니다. 따라..
안녕하세요. 지난 포스팅의 BOJ 14681번 : 사분면 고르기에서는 복잡한 조건문을 가진 문제를 풀어보았습니다. 오늘은 조금 더 생각을 해보아야하는 문제를 풀어보도록 하죠. 핵심 포인트 조건문 문제를 보면 입력된 두 개의 시간(H)와 분(M)에서 45분을 뺀 시간을 시, 분의 형태로 출력해야합니다. 여기서 저희는 첫번째로 2가지 조건을 고려해볼 수 있겠죠. 현재 시간에서 45분을 뺐을 때 양수가 나오는 경우, 음수가 나오는 경우입니다. 여기서 음수가 나오는 경우에는 현재 시간(H)에서 1을 빼고 60분을 더해준 뒤 45분을 빼는 것이기 때문에 결과적으로 15분을 더하게 됩니다. 그런데 한가지 문제가 더 있습니다. 만약, 시간에서 1을 뺏는데 음수가 나오면 어떡하죠? 이 경우에는 현재 시각이 0시라는 것..
안녕하세요. 지난 포스팅의 BOJ 2753번 : 윤년에서는 복잡한 조건문을 가진 문제를 풀어보았습니다. 오늘도 유사한 문제를 풀어보도록 하죠. 지난 문제와 별 다른 점은 없으니 설명은 생략하도록 하겠습니다. 핵심 포인트 조건문 논리연산자 and x = int(input()) y = int(input()) if x > 0 and y > 0 : print(1) elif x 0 : print(2) elif x < 0 and y < 0 : print(3) else : print(4) 참고자료 및 그림출처 백준 코딩 문제
안녕하세요. 지난 포스팅의 BOJ 9498번 : 시험 성적에서는 조건문의 성질을 적용해서 더 간단하게 코드를 짜는 방법에 대해서 알아보았습니다. 오늘은 더욱 복잡한 조건이 들어간 문제를 풀어보도록 하겠습니다. 핵심 포인트 조건문 논리연산자 and 와 or 오늘의 핵심은 논리연산자 and와 or을 이해하는 것입니다. - and 연산자 : 두 개의 불(bool) 자료형(True 또는 False 만을 가지는 자료형)이 모두 True 일 때 True를 반환하는 연산입니다. - or 연산자 : 두 개의 불(bool) 자료형(True 또는 False 만을 가지는 자료형) 중 하나가 True 일 때 True를 반환하는 연산입니다. 이제 문제를 보도록 하죠. 윤년의 조건은 2가지입니다. - 연도가 4의 배수이면서 10..
안녕하세요. BOJ 1330번 : 두 수 비교하기에서는 조건문을 통해 문제를 해결해보았습니다. 중요한 점은 if문, elif문, else문을 적절하게 활용하는 것 이였습니다. 오늘도 조건문을 활용해서 문제를 풀어보도록 하겠습니다. 다만, 지난 포스팅의 문제보다 더 많은 조건문을 써야한다는 것을 제외하고는 쉽게 풀 수 있습니다. 핵심 포인트 조건문 조건문의 성질 : if문의 조건이 만족하지 않을 때 다음 조건문에서는 이전 조건문을 고려하지 않아도 된다. 문제에서는 90점 이상이면 "A", 80점 이상이면 "B", 70점 이상이면 "C", 60점 이상이면 "D", 59점 아래부터는 "F"를 출력하라고 하였습니다. 아마도 몇몇 분들은 아래와 같은 논리 연산자인 and를 활용하여 풀었을 겁니다. 여기서 and ..
안녕하세요. 지난 포스팅의 BOJ 2588번 : 곱셈에서는 입출력과 관련된 마지막 문제를 풀어보았습니다. 오늘부터는 조건문(if문)에 대한 문제를 풀어보도록 하겠습니다. 핵심 포인트 조건문 if condition_1 : do statement_1 elif condition_2 : do statement_2 ... else : do statement_n 먼저 조건문에 대해서 간단하게 알아보도록 하겠습니다. 위 의사코드(pseudocode)와 같이 조건문은 크게 2가지로 구성되어 있습니다. 먼저, 첫번째 조건문 if문은 condition_1을 검사합니다. condition_1을 만족하면 statement_1을 실행하라는 의미이죠. 만약, condition_1이 만족하지 않으면 statement_1은 실행되지..