https://www.acmicpc.net/problem/25304 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 문제 해석 물건 여러 개를 입력받아 최종적인 값을 구한 후 처음 입력한 값과 일치하면 Yes 일치하지 않으면 No를 출력합니다. 총금액을 구하려면 물건 수만큼 반복시키는 반복문이 필요하고 물건 값을 비교하는 조건문을 사용해야 해 if문으로 출력해야 합니다. 물건의 종류가 매우 많다면, 반복문은 시간복잡도가 상수가 아니기 때문에 주어진 값을 바로바로 계산하고 그때마다 변수에 더하해야 하지만, 물건의 종류가 ..
Computer Science
https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 반복문을 학습하면 가장 먼저 접하는 1부터 n까지의 합을 구하는 알고리즘입니다. n이 주어지면 1부터 n까지 계산을 해주는 가장 간단한 접근이 반복문이고 (1부터 n까지 코드를 반복하기 때문입니다.) 반복문에 사용하는 반복변수를 계산에 직접 사용할 수 있다는 점을 착안해 sum = sum + i; 코드를 반복시킬 수 있습니다. 풀이 해석을 통해 구할 수 있는 1부터 n까지 더하는 알고리즘은 다음과 같습니다. int sum =0; for (int i = 1; i n; for (int i = 1; i
https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 테스트 케이스를 만드는 방법을 연습하는 문제입니다. 테스트 케이스를 처리하는 방법과 두 정수를 입력받고 값을 더하는 방법으로 나누어 생각한 후 코드를 작성합니다. 풀이 반복문을 이용해 테스트 케이스를 만들 수만 있다면 쉽게 풀 수 있는 문제입니다. 입력받은 만큼 코드를 반복시키는 방법은 if문, while문 둘 다 사용할 수 있으며 코드를 작성하는 사람에 따라 스타일이 나뉩니다. 저 같은 경우 아래의 방법들을 주로 사용합니다. 1. While 문 (T--) cin >> T; while(T--){..
https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 문제 해석 반복된 계산을 하기 때문에 for문 혹은 while문을 이용한 반복 구문을 사용합니다. 풀이 입력받은 수를 순차적으로 곱한 후 출력해야 하므로 cout
https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 www.acmicpc.net 문제 해석 문제에서 조건의 기준을 "눈이 몇 개 같냐"를 주었고, 주사위 개수를 입력받는 다면 생각할게 많지만 3개로 고정되었기 때문에 단순히 문제가 풀라는 대로 조건을 세우고 연산하면 되는 문제입니다. 풀이 같은 눈이 몇 개인지에 따라 출력이 달라지는 if 문을 세우는 방식도 다양하겠지만 저는 같은 눈이 두 개 이상인 경우와 같은 눈이 없는 경우를 우선으로 해 문제를 풀겠습니다...
https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 문제 해석 https://whitecode2718.tistory.com/61?category=1137840 [백준] 2884번 : 알람 시계 (2단계) (C++) https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지..
https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 문제 해석 문제만 본다면 단순히 받은 시간에 45분을 빼주면 될 것 같지만 1시간이 60분이고 분에 값을 뺀 만큼 시간도 빼줘야 하기 때문에 문제가 어려워 보입니다. 이런 류의 문제를 풀 때 단순히 내가 이 문제를 해결하기 위해서 어떻게 풀건지 생각하는 게 가장 좋습니다. 저 같은 경우 분에 45분을 뺀다면, 빼야 될 분이 45분 이하일 때 시간에 -1을 한 후 분에 60을 더하고 45를 뺀 값이 결과가 ..
https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 문제 해석 정수를 입력받아 조건에 따라 다른 결과를 리턴하는 문제입니다. 이전이 풀었던 점수에 따라 출력이 달라지는 문제와 알고리즘이 동일하는 점을 문제를 통해 알 수 있고, 조건만 이해하면 쉽게 풀 수 있습니다. 풀이 x, y값에 따라 사분면이 달라지고, 그 기준은 x가 양, 음일 때 y가 양, 음 일 때 달라짐을 문제의 그림을 통해 알 수 있습니다. 따라서 조건의 기준은 x가 0보다 큰지, 작은지 와 y가 0보다 큰지, 작은지에 대해 논리식을 세워야 할 것입니다. 처음에 이 문제를 봤을 때 x와 y가 0인..