분류 전체보기(350)
-
[백준 BOJ] 4153번 직각삼각형 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 접근 방법 - 피타고라스의 정의를 이용한 수학 문제 백준의 4153번 문제는 피타고라스의 정의를 사용해서 해결해야 하는 문제이다. 해당 문제는 입력받은 삼각형의 길이를 통해, 해당 삼각형이 직각삼각형인지에 대한 여부를 밝혀야 하는 문제이다. 필자는 해당 문제에 필수적으로 필요한 피타고라스의 정의를 직접적으로 대입하여 문제를 해결하였다. 필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다. 코드의 실..
2022.02.01 -
[백준 BOJ] 3052번 나머지 (C언어)
문제 설명 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 접근 방법 - 나머지 연산자를 응용한 문제 백준의 3052번 문제는 나머지 연산자를 주로 이용하여 해결해야 하는 문제이다. 해당 문제는, 입력받은 숫자들을 42로 나머지 연산자를 취했을 때 서로 다른 결괏값이 몇 개가 되는지 측정해야 하는 문제이다. 필자는 여기에서 크기가 42인 정수형 배열을 사용하여 문제를 해결해보았다. 필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다. 배열의 사용 원리는 아래에서 설명하고자 한다. 코드의 실행 순서 1) 크기가..
2022.01.30 -
[백준 BOJ] 2920번 음계 (C언어)
문제 설명 https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 접근 방법 - 배열을 이용한 판별 문제 백준의 2920번 문제는 배열의 속성을 이용해서 정답을 구해내야 하는 문제이다. 해당 문제에선 입력받은 숫자 배열을 통하여, 오름차순인지 내림차순인지, 아니면 mixed인지를 판별해야 한다. 필자의 경우에서는 시작하는 숫자가 1인 경우와 8인 경우를 나누어서 코드를 작성하였다. 필자는 아래의 순서대로 코드를..
2022.01.30 -
[백준 BOJ] 2908번 상수 (C언어)
문제 설명 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 접근 방법 - 문자열을 이용한 수학 문제 백준의 2908번 문제는 문자형 배열을 이용한 수학 문제이다. 해당 문제는 입력받은 두 숫자의 앞뒤를 뒤집었다는 가정하에 둘 중 큰 수를 출력하는 문제이다. 자릿수를 각각 추출하여 해답을 구하는 방법도 있지만, 이 문제는 문자열을 이용하면 보다 편리하게 해결할 수 있다. 문자열의 경우엔 세 자릿수의 숫자라 할지라도 숫자 하나씩 문자로 따로 저장하기 때문이다...
2022.01.30 -
[백준 BOJ] 2884번 알람 시계 (C언어)
문제 설명 https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 접근 방법 - 시간의 연산이 필요한 문제 백준의 2884번 문제는 단순한 시간 계산을 사용해서 해결해야 하는 문제이다. 해당 문제에선 입력받은 시간에서 45분 앞의 시간을 출력하면 된다. 이때, 분의 범위는 0~59이며 시간의 범위는 0~23이라는 점을 유의하며 코드를 작성해야 한다. 필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다. 코드의 실행 순서 1) 시간(h, m)을 입력받는다...
2022.01.30 -
[백준 BOJ] 2869번 달팽이는 올라가고 싶다 (C언어)
문제 설명 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 접근 방법 - 수학적 사고력을 필요로 하는 문제 백준의 2869번 문제는 수학적 사고력을 이용해야 하는 문제이다. 해당 문제에선 달팽이가 올라가는 길이와 미끄러지는 길이를 통해, 정상에 오르는 데에 필요한 일수를 구하면 된다. 다만, 이 문제를 해결할 때 정상에 오른 뒤엔 미끄러지지 않는다는 점을 유의해야 한다. 필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다. 코드의 실행 순서 1) 올라가는 길이(a), 미끄러지는 길이(b), 총길이..
2022.01.29