개발자 바다의 파도

개발의 무인도에 갇혔다

알고리즘 공부/백준 알고리즘 89

24266 - 알고리즘 수업 - 알고리즘의 수행 시간 5 (C++)

문제 - 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자.     MenOfPassion 알고리즘은 다음과 같다.     MenOfPassion(A[], n) {          sum           for i                for j                     for k                          sum           return sum; } 입력 - 첫째 줄에 입력의 크기 n (1  출력 - 첫째 줄에 코드1의 수행 횟수를 출력한다.     둘째 줄에 코드1의 수행..

24265 - 알고리즘 수업 - 알고리즘의 수행 시간 4 (C++)

문제 - 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자.     입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자.     MenOfPassion 알고리즘은 다음과 같다.     MenOfPassion(A[], n) {          sum           for i                for j                     sum           return sum; } 입력 - 첫째 줄에 입력의 크기 n (1  출력 - 첫째 줄에 코드1의 수행 횟수를 출력한다.      둘째 줄에 코드1의 수행 횟수를 다항식으로 나타내었을 때, 최고차항의 ..

24264 - 알고리즘 수업 - 알고리즘의 수행 시간 3 (C++)

문제 - 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자.     입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자.     MenOfPassion 알고리즘은 다음과 같다.     MenOfPassion(A[], n) {           sum           for i                for j                     sum           return sum; } 입력 - 첫째 줄에 입력의 크기 n (1  출력 - 첫째 줄에 코드1의 수행 횟수를 출력한다.     둘째 줄에 코드1의 수행 횟수를 다항식으로 나타내었을 때, 최고차항의 ..

24263 - 알고리즘 수업 - 알고리즘의 수행 시간 2 (C++)

문제 - 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 잘 이해했는지 문제를 통해서 확인해보다     입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자.     MenOfPassion 알고리즘은 다음과 같다.     MenOfPassion(A[], n) {          sum           for i                sum           return sum; } 입력 - 첫째 줄에 입력의 크기 n (1  출력 - 첫째 줄에 코드1의 수행 횟수를 출력한다.      둘째 줄에 코드1의 수행 횟수를 다항식으로 나타내었을 때, 최고차항의 차수를 출력한다.      단, 다항식으로 나타낼 수 없거..

24262 - 알고리즘 수업 - 알고리즘의 수행 시간 1 (C++)

문제 - 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자.     입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자.      MenOfPassion 알고리즘은 다음과 같다     MenOfPassion(A[], n) { i = [n / 2]; return A[i]; # 코드 1 } 입력 - 첫째 줄에 입력의 크기 n (1  출력 - 첫째 줄에 코드1의 수행 횟수를 출력한다.     둘째 줄에 코드1의 수행 횟수를 다항식으로 나타내었을 때, 최고차항의 차수를 출력한다. 단, 다항식으로 나타낼 수 없거나 최고차항의 차수가 3보다 크면 4를 출력한다. 풀이 -   코드..

14215 - 세 막대 (C++)

문제 - 영선이는 길이가 a, b, c인 세 막대를 가지고 있고, 각 막대의 길이를 마음대로 줄일 수 있다.     영선이는 세 막대를 이용해서 아래 조건을 만족하는 삼각형을 만들려고 한다.     각 막대의 길이는 양의 정수이다     세 막대를 이용해서 넓이가 양수인 삼각형을 만들 수 있어야 한다.     삼각형의 둘레를 최대로 해야 한다.     a, b, c가 주어졌을 때, 만들 수 있는 가장 큰 둘레를 구하는 프로그램을 작성하시오. 입력 - 첫째 줄에 a, b, c (1 출력 - 첫째 줄에 만들 수 있는 가장 큰 삼각형의 둘레를 출력한다. 풀이 -        일단 9번째 줄에서 정수인 a, b, c를 받는다. 이후 가장 큰 변을 구하기 위해 11번째 줄에서 40번째 줄까지 if-else문을 돌..

5073 - 삼각형과 세 변 (C++)

문제 - 삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.     Equilateral: 세 변의 길이가 모두 같은 경우     Isosceles: 두 변의 길이만 같은 경우     Scalene: 세 변의 길이가 모두 다른 경우 단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid"를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다. 세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오. 입력 - 각 줄에는 1,000을 넘지 않는 양의 정수가 3개가 입력된다. 마지막 줄은 0 0 0 이며 이 줄은 계산하지 않는다. 출력 - 각 입력에..

10101 - 삼각형 외우기 (C++)

문제 - 창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다. 삼각형의 세 각을 입력 받은 경우     세 각의 크기가 모두 60이면, Equilateral     세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles     세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene     세 각의 합이 180이 아닌 경우에는 Error를 출력하는 프로그램을 작성하시오 입력 - 총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다. 출력 - 문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다. 풀이 -       매우 간단하게 위의 4가지 경우들..

9063 - 대지 (C++)

문제 - 임씨는 1950년 한국전쟁으로 많은 손해를 본 사람들 중 하나다. 전쟁 통에 손해보지 않은 사람이 어디 있을까 만은 그는 6.25가 일어나기 전만 해도 충청도 지방에 넓은 대지를 소유한 큰 부자였다. 전쟁이 나자 임씨는 땅문서와 값 나가는 것들만 챙겨서 일본으로 피난을 가지만 피난 중에 그만 땅문서를 잃어버리고 만다. 전쟁이 끝난 후에 임씨의 땅은 이미 다른 사람들의 논밭이 되어 있었고, 임씨는 땅을 되찾으려 했지만 문서가 없으니 생떼 쓰는 것과 다를 바 없었다. 이러다가 임씨는 길바닥에 나앉게 생겼다.       이때, 임씨에게 좋은 생각이 떠올랐으니 바로 자신이 습관처럼 땅 깊숙이 뭔가 표식을 해놓았던 사실이다. 임씨는 한적할 때마다 자신의 논밭을 거닐다가 땅속 깊은 곳에 자신의 이름이 씌어..

15894 - 수학은 체육과목 입니다 (C++)

문제 - 성원이는 수학을 정말 못 하는 고등학생이다. 수학을 못하는 대신 근성과 팔 힘이 뛰어난 성원이는 수학 시험에서 수학 지식을 사용하지 않고 근성과 체력을 사용해 문제를 푼다. 지난 시험에서는 아래 사진에 나와있는 문제를 근성과 체력을 사용해 열심히 풀었지만 사진에서 볼 수 있듯이 틀려버리고 말았다! (사진은 첨부 안함)      결국 이 문제는 틀려버렸지만 성원이는 여전히 자신의 체력에 강한 자신감을 갖고 있다. 어떤 어려운 문제가 나와도 이런 식으로 근성과 체력을 사용하면 다 풀 수 있으니 이 방법은 최고의 방법이라고 생각하고 있다. 성원이의 친구 형석이는 근성과 체력으로 수학 문제를 푸는 것은 굉장히 무식한 방법이라고 생각한다. 형석이는 수학을 공부하면 문제를 훨씬 빨리 풀 수 있다는 것을 알..