no image
백준 4101번 파이썬 문제 풀이
[문제] & [결과] [해설] 무한반복문을 이용하여 특정 조건을 만족했을 때 반복문을 탈출하는 방식으로 진행한다.
2022.02.19
no image
백준 2480번 파이썬 문제 풀이
[문제] & [결과] [해설] 이 문제는 3개의 변수들의 관계를 적절하게 이용하여 비교 연산자를 통해 쉽게 풀 수 있는 문제.
2022.02.19
no image
백준 10984번 c++ 문제 풀이
[문제] & [결과] [해설] fixed를 이용하여 숫자의 소수 부분을 고정시킨다. precision(n)은 소수점 n의 자리수까지 반올림을 해준다. 위 코드에서는 precision(1)이므로 소수점 1의 자리수까지 반올림을 해주면 된다.
2022.02.18
no image
백준 5635번 c++ 문제 풀이
[문제] & [결과] [해설] 이 문제는 vector와 pair을 이용하면 쉽게 풀 수 있는 문제다. sort 함수를 이용하면 기본적으로 오름차순 정렬이기 때문에 나이가 가장 많은 학생이 가장 낮은 년도와 월의 pair에 해당하여 가장 앞으로 오게 된다.
2022.02.18
no image
백준 1934번 파이썬 문제 풀이
[문제] & [결과] [해설] 이 문제는 백준 2609번 문제에 나왔던 유클리드 호제법을 이용해 최대공약수를 먼저 구해야한다. 최소공배수는 두 수를 곱하고 최대공약수로 나누면 얻을 수 있기 때문이다. 그래서 gcd라는 함수를 만들어 두 정수를 매개변수로 받는다. 이전 게시글 중 2609번을 참고하면 gcd, 최대공약수에 대한 추가 설명이 있다. 그렇게 최대공약수를 반환하고 반환된 값을 곱한 두 수로부터 나누면 최소공배수를 얻을 수 있다.
2022.02.17
no image
백준 10039번 파이썬 문제 풀이
[문제] & [결과] [해설] 이 문제를 배열에 요소들을 추가하는 방식으로 풀었지만, 변수에 바로 저장하고 더하는 식으로 해결해도 좋다. [추가] append를 사용할 때, 1차원 배열이라면 arr[i]식으로 사용할 수 없다.
2022.02.17
no image
백준 1789번 파이썬 문제 풀이
[문제] & [결과] [해설] 이 문제는 서로 다른 값들의 합이 가장 많을 때, N의 값이 최대가 된다는 것을 알 수 있다. 그렇다면, 1부터 1씩 키운 값들을 더하면 되는 것이다. 1+2+3+4+5+ ... 이렇게 더한 값들이 N보다 작거나 같으면 된다. 1부터 N까지의 합은 밑에서 볼 수 있듯이 i*(i+1)/2로 작성할 수 있다. 마지막에 while반복문의 조건을 벗어나게 되었을 때 i의 값에서 1을 빼줘야 N보다 작거나 같은 조건을 만족하는 i값이 된다.
2022.02.17
no image
백준 10817번 파이썬 문제 풀이
[문제] & [결과] [해설] 이 문제는 파이썬의 리스트에 내장되어 있는 sort() 메소드를 이용하면 아주 쉽게 풀 수 있다. 그리고 문제 특성상 세 개의 정수라고 했기 때문에 중간에 있는 값은 인덱스 1로 구해주면 된다.
2022.02.17
no image
백준 2935번 파이썬 문제 풀이
[문제] & [결과] [해설] 이번 문제는 딱히 어려운 것이 없어서 해설은 생략하도록 하겠다. 5355번 문제의 하위 문제라고 생각하면 좋을 것 같다.
2022.02.17
no image
백준 5355번 파이썬 문제 풀이
[문제] & [결과] [해설] 이 문제에서 까다로웠던 부분은 입력받을 때, 자료형 구분이 필요한지, 필요없는지였다. 하지만, 그렇게 하면 더 어려워질 것 같아서 문자열로 입력을 받고 인덱스 0인 부분의 자료형만 소수형으로 변환시켜주면 됐다.
2022.02.17
no image
백준 2914번 파이썬 문제 풀이
[문제] [결과] [해설] 일단, 이 문제에서 가장 중요한 포인트는 출력 단계에서 '적어도 몇 곡이 저작권이 있는 멜로디인지'이다. 위의 문제처럼 엘범에 저작권이 있는 멜로디가 894개가 있고 평균값이 23.53이면 올림하여 24가 된다고 했다. 만약 평균이 정확하게 23이고 여기에 1개의 곡을 더한다면 평균은 23.xx가 될 것이다. 23을 올림할 수는 없지만, 23.xx는 올림하면 24이기 때문에 1개의 곡을 더해야 '적어도'를 만족시켜줄 수 있다.
2022.02.17
no image
백준 5565번 c++ 문제 풀이
[문제] [결과] [해설] 정수형 배열에 9권의 가격을 넣고 총 가격에서 하나씩 빼면 마지막 한 권의 가격을 구할 수 있다.
2022.02.16
no image
백준 2748번 c++ 문제 풀이
[문제] [결과] [해설] Fibonacci 수열은 num이 커질수록 값이 급속도로 증가하므로 자료형은 long long을 사용한다. 문제에서 설명해준대로 첫 번째, 두 번째에는 1로 값을 정해준다. 그리고 첫 번째나 두 번째가 아닐 때는 fibo(num-1) + fibo(num-2) 처럼 작성해주면 끝!
2022.02.15
no image
백준 2609번 c++ 문제 풀이
[문제] [결과] [해설] 유클리드 호제법(유클리드 알고리즘)은 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 두 수가 서로 상대방의 수를 나누어서 결과적으로 원하는 수를 얻는 알고리즘을 의미한다. 원리는 이렇다. 큰 수를 작은 수로 나눈다 -> 나누는 수를 나머지로 계속 나눈다 -> 나머지가 0이 나올 때까지 반복한다. -> 나머지가 0이 나온다면, 그때 나누는 수가 최대공약수이다.
2022.02.15
no image
백준 2441번 c++ 문제 풀이
[문제] [결과] [해설] 이 문제는 지난 게시글에 올렸던 2440번 문제와 유사한 문제이다. 다만 별들의 위치가 오른쪽으로 쏠린 것을 [결과]에서 확인할 수 있다. 별들이 오른쪽이 치우친 덕에 공백으로 만들어진 계단을 볼 수 있었다. 그래서 공백으로 별찍기를 한다고 생각하면 쉽게 풀 수 있다. [해설]의 'j < i' 와 'int k = num - i' 에서 i 와 num - i의 합인 num을 맞춰주어야 반듯한 직사각형에 별을 찍을 수 있다.
2022.02.15
no image
백준 2440번 c++ 문제 풀이
[문제] [결과] [해설] 출력 결과를 확인해보면, 첫 번째 줄에는 별이 n개가 출력되고 두 번째 줄에는 별이 n-1개, 세 번째 줄에는 별이 n-2개, 네 번째 줄에는 별이 n-3개, ... n 번째 줄에는 별이 1개가 출력되는 것을 확인할 수 있다. 따라서 i가 점점 커질 때마다 j도 같은 크기만큼 줄려주면 된다.
2022.02.15
no image
백준 1408번 c++ 문제 풀이
[문제] [결과] [해설] stoi 함수: string to int 말 그대로 문자열을 정수형으로 바꾸는 함수 substr 함수: string substr(size_t index=0, size_t len=npos) const; string을 index에서부터 len만큼 잘라서 반환하는 함수 코드는 많이 길어보이지만, 직접 작성해보시면 쉬운 문제라는 것을 알 수 있습니다.
2022.02.15
no image
백준 2530번 파이썬 문제 풀이
[문제] [결과] [해설] 이 문제는 지난 게시글(백준 2525번)에서 다룬 문제와 유사하다. 차이점이라면, 지난 게시글에서는 분을 기준으로 했다면 이번 게시글에 실린 문제에서는 초를 시작으로 문제를 해결해야한다. 원활한 문제풀이를 위해 새로운 변수들을 삽입했다. s1은 입력받은 초와 추가시간인 초를 합하여 나머지만 저장했고, 60초를 초과했을 경우 b1 변수에 그 값을 저장했다. b2에는 초과된 분인 b1과 원래 입력받은 B를 더한 값의 나머지를 저장해 최종적인 분을 저장했다. a1에는 b1과 B의 값을 더하여 초과된 값을 시간으로 간주해 저장했다. a2에는 최종적인 시간을 저장했다.
2022.02.15
no image
백준 2525번 파이썬 문제 풀이
[문제] [결과] [해설] 이 문제는 일단 분(B)에 필요한 시간(C)을 더했을 때, 60분을 넘어가는냐, 안 넘어가는냐에 따라 구분을 해줘야 한다. 그래서 if문을 통해 60분을 넘어갈 때와 넘어가지 않을 때로 구분해준다. 입력받는 n은 시이고, m은 분이다. a는 60분을 넘어갈 때, 60
2022.02.15
no image
백준 7287번 파이썬 문제 풀이
[문제] [해설] 처음에 이 문제를 보고 한 동안 고민을 해봤다. "파이썬에 이런 기술이 있었나?"라고 생각했지만, 갑자기 번뜩 떠올랐다... 그것은 바로 그냥 내 정보에서 내가 풀었던 문제 수와 아이디를 출력하면 되는 것이었다! [추가] 하지만, 이 문제는 정확하게 자신이 맞은 개수를 입력하지 않거나 자신의 아이디를 입력하지 않으면 오답처리가 되므로 주의하기를 바란다.
2022.02.14
no image
백준 10699번 파이썬 문제 풀이
[문제] [힌트] 채점 서버는 시간대(Timezone)는 UTC+0 이다. 다음은 채점 서버에서 KST 시간으로 2018년 3월 21일 오후 2시 7분 38초에 date 명령어를 실행시킨 결과이다. [해설] datetime 모듈을 이용해서 현재시간을 알 수 있습니다. 인덱스 10까지 슬라이싱하여 년, 월, 일까지만 출력합니다.
2022.02.14