분류 전체보기 24

오늘의 코드. 15일차 (백준/11170번 0의 개수)

Baekjoon / Problem No.11170 (0의 개수) Problem N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라. 예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다. Input 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 줄에는 N과 M이 주어진다. 1 ≤ T ≤ 20 0 ≤ N ≤ M ≤ 1,000,000 Output 각각의 테스트 케이스마다 N부터 M까지의 0의 개수를 출력한다. Solution 우선 맨 뒷자리가 0인 수를 생각해보자.(10, 200, 265440 등) 0으로 어떤 수를 나눌 수 없기 때문에 위의 1의 자리수가 0인 수들은 '10'으로 나누어 떨어진다. 10으로 나누어 떨..

오늘의 코드 2024.02.23

오늘의 코드. 14일차 (백준/11047번 동전 0)

이번에 해외여행을 일본으로 다녀오느라 포스팅이 불규칙적이었다. 일본여행 중 굉장히 동전을 많이 가지고 있게 되었는데, 귀국할때 최대한 동전을 적게 들고오기 위해 계산을 했던 기억이 난다. 그때의 기억을 떠올려보며 글을 써보려 한다. Baekjoon / Problem No. 11047 (동전 0) Problem 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. Input 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,..

오늘의 코드 2024.02.21

오늘의 코드. 13일차 (백준/12789번 도키도키 간식드리미)

문제 제목을 보고 내 눈을 의심하며 들어왔다. 이것이 바이럴 마케팅일까? Baekjoon / Problem No. 12789 (도키도키 간식드리미) Problem 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두근 설레서 시험 공부에 집중을 못 한다. 이번 중간고사에서도 역시 승환이는 설레는 가슴을 안고 간식을 받기 위해 미리 공지된 장소에 시간 맞춰 도착했다. 그런데 이게 무슨 날벼락인가! 그 곳에는 이미 모든 학생들이 모여있었고, 승환이는 마지막 번호표를 받게 되었다. 설상가상으로 몇몇 양심에 털이 난 학생들이 새치기를 거듭한 끝에 대기열의 순서마저 엉망이 되고 말았다..

오늘의 코드 2024.02.16

오늘의 코드. 12일차 (백준/11758번 CCW)

인생은 속도가 아니라 방향이다. 여기에서 무언가 끓어오르는(지적하고 싶은) 감정을 느꼈다. Baekjoon / Problem No. 11758 (CCW) Problem 2차원 좌표 평면 위에 있는 점 3개 P1, P2, P3가 주어진다. P1, P2, P3를 순서대로 이은 선분이 어떤 방향을 이루고 있는지 구하는 프로그램을 작성하시오. Input 첫째 줄에 P1의 (x1, y1), 둘째 줄에 P2의 (x2, y2), 셋째 줄에 P3의 (x3, y3)가 주어진다. (-10,000 ≤ x1, y1, x2, y2, x3, y3 ≤ 10,000) 모든 좌표는 정수이다. P1, P2, P3의 좌표는 서로 다르다. Output P1, P2, P3를 순서대로 이은 선분이 반시계 방향을 나타내면 1, 시계 방향이면 -..

오늘의 코드 2024.02.15

오늘의 코드. 11일차 (백준/2563번 색종이)

2차원 배열을 사용하는간단한 문제이다. Baekjoon / Problem No. 2536 (색종이) Problem 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오. 예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다. Input 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 ..

오늘의 코드 2024.02.14

오늘의 코드. 10일차 (백준/27960번 사격 내기)

드디어 오늘의 코드가 10일차에 다다랐다. Baekjoon / Problem No. 27960 (사격 내기) Problem A, B, C는 올해에도 예비군 훈련을 받으러 간다. 이번 예비군 훈련 과정 중에는 영점 사격이 있으며, 10개의 과녁 각각에 점수를 매겨 맞춘 과녁 점수의 총합을 측정한다. 과녁을 맞혔을 때, 과녁별로 각각 1점 / 2점 / 4점 / 8점 / 16점 / 32점 / 64점 / 128점 / 256점 / 512점을 얻는다. 과녁을 맞히지 않으면 해당 점수를 얻을 수 없으며, 각 과녁은 사람별로 최대 한 번만 맞힐 수 있다. A, B와 C는 영점 사격 점수를 가지고 훈련 이후에 먹을 저녁 내기를 했다. A와 B는 각자 자신들의 총합 사격 점수를 공유했지만, C는 저녁 내기의 상황을 더 쫄..

오늘의 코드 2024.02.13

오늘의 코드. 9일차 (백준/1929번 소수 구하기)

지난번 오늘의 코딩지식 N0.2(골드바흐의 추측과 소수판별법)에서 다양한 소수판별법을 알아보았는데, 이 지식을 활용하여 문제를 풀어보고 리마인딩 하기 위해 문제를 가져왔다. Baekjoon / Problem No.1929 (소수 구하기) Problem M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. Input 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. Output 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. Solution 아주 간결한 문제이다. 지난 오늘의 코딩지식 No.2(골드바흐의 추측과 소수판별법)에서 소수를 판별하는 법에 대해 자세히 알아보았다. 이 문제는 ..

오늘의 코드 2024.02.12

오늘의 코딩지식. No. 2 (골드바흐의 추측과 소수판별법)

오늘의 코드 6일차 에서 알아본 골드바흐의 추측과 소수판별법에 대해 보다 자세히 정리해 보았다. abstarct 우리는 "오늘의 코드. 6일 (백준/9020번 골드바흐의 추측)편"에서 골드바흐의 추측과 소수를 판별하는 여러 아이디어를 다루어 보았다. 소수를 판별하는 방식에는 여러가지가 있다. 가장 원초적인 방법부터, 갓 나온 따끈따끈한(비교적으로) 이론들도 여러가지 있다. 간단히 이번 코딩지식의 목차를 크게 나누어 보면 골드바흐의 추측(Goldbach's conjecture) 소수 판별 - 소수의 성질을 이용한 방법 소수 판별 - 에라토스테네스의 체 소수 판별 -밀러-라빈 소수 판별법 (Miller - Rabin Primality Test) 정도로 추려볼 수 있겠다. Subject - 골드바흐의 추측 (..

코딩 지식 2024.02.12

오늘의 코드. 8일차 (백준/1010번 다리놓기)

알다시피 코딩에서 조합론이란, 시간을 줄이는 싸움이다. 시간 효율성을 높이기 위한 조합론 문제를 찾던 중, 만만해 보이는 녀석을 가져왔다. Baekjoon / Problem No.1010 (다리놓기) Problem 재원이는 한 도시의 시장이 되었다. 이 도시에는 도시를 동쪽과 서쪽으로 나누는 큰 일직선 모양의 강이 흐르고 있다. 하지만 재원이는 다리가 없어서 시민들이 강을 건너는데 큰 불편을 겪고 있음을 알고 다리를 짓기로 결심하였다. 강 주변에서 다리를 짓기에 적합한 곳을 사이트라고 한다. 재원이는 강 주변을 면밀히 조사해 본 결과 강의 서쪽에는 N개의 사이트가 있고 동쪽에는 M개의 사이트가 있다는 것을 알았다. (N ≤ M) 재원이는 서쪽의 사이트와 동쪽의 사이트를 다리로 연결하려고 한다. (이때 한..

오늘의 코드 2024.02.11