본문 바로가기

반응형

백준

(322)
[BOJ] 백준 15552 빠른 A+B (Swift) 문제 https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 풀이 이 문제는 Swift에서 fread 방식으로 입력을 받아야 풀 수 있음 라이노님께서 구현한 코드가 있어서 그것을 사용..! https://gist.github.com/JCSooHwanCho/30be4b669321e7a135b84a1e9b075f88 입력을 끝내려면 readLine()을 사용했을 때 처럼 enter가 아닌 EOF를 입력시키는 Cmd + D로 끝낼 수 있음 Swift는 print() 함수도 ..
[BOJ] 백준 25304 영수증 (Swift) 문제 https://www.acmicpc.net/problem/25304 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 풀이 반복문과 조건문을 사용해서 풀 수 있는 문제 소스코드 후기 단순히 반복문과 조건문을 알고 있다면 쉽게 풀이할 수 있는 문제인 것 같다.
[BOJ] 백준 8393 합 (Swift) 문제 https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 총 2가지 풀이를 떠올렸음 1~n 까지 반복문을 돌려서 합을 구하는 방법 1~n 의 합은 n * (n + 1) / 2 소스코드 후기 1번 방법으로 풀었다면? 1부터 n까지 더해주기 때문에 n에 영향을 받고 총 덧셈 연산을 총 n번 수행하게 된다 시간복잡도는 $O(n)$ 2번 방법으로 풀었다면? n의 크기와 상관없이 딱 한 번 실행됨 시간복잡도는 $O(1)$ 2번 방법으로 풀자!😋
[BOJ] 백준 10950 A+B - 3 (Swift) 문제 https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 입력 받은 A, B의 합을 출력해주면 되는 문제 동일한 로직이 반복.. 반복문 사용! 소스코드 후기 solution() 이라는 함수를 작성하지 않고 그냥 for문 블록 안에서 코드를 작성해도 무방하다.. 하지만 나는 풀이 로직을 solution() 함수 안으로 분리해 놓는게 더 보기 좋아서.. 이렇게 작성하는 것을 선호함 🙌
[BOJ] 백준 2739 구구단 (Swift) 문제 https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 풀이 단순히 반목문을 사용해 풀 수 있는 문제 for문으로 푸는게 가장 간단하고 가독성이 좋은 것 같음 소스코드 후기 반복문을 사용하지 않고도 9번 출력문으로도 풀 수 있지만.. 반복문을 이해했다면 반복문을 사용해서 풀자!
[BOJ] 백준 2480 주사위 세개 (Swift) 문제 https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 풀이 조건을 잘 살펴보자! 모두 같은 경우 두 개만 같은 경우 다 다른 경우 세 가지 조건에 대해서만 처리해주면 됨 하지만 두 개만 같은 경우에는 1번과 2번이 같은 경우 1번과 3번이 같은 경우 2번과 3번이 같은 경우 총 3가지 경우로 나뉨 1번과 2번이 같은 경우, 1번과 3번이 같은 경우에는 1번 주사위 * 100 + 1000 2번과 3번이 같은 경우, 2번 주사위 * ..
[BOJ] 백준 2525 오븐 시계 (Swift) 문제 https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 풀이 시간을 "분"을 기준으로 입력받고, 거기에 추가로 입력받을 "분"을 더해주어서 시, 분 으로 표기해주면 될 것 같다. 단, 0시를 넘어가는 경우를 처리를 해줘야함 하루의 단위인 1,440 분의 나머지로 처리해서 풀 수 있음 소스코드 후기 "분" 단위로 생각하면 쉽게 풀 수 있는 문제 아니면 분기처리를 통해서 구하는 방법도 있겠지만, 이 방법이 좀 더 쉬운 방법이라고 생각함 ..
[BOJ] 백준 2884 알람 시계 (Swift) 문제 https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 풀이 "분" 단위에 초점을 맞춰서 풀이 0시인 경우를 고려해줘야함 0시라면 24시와 동일한 것으로 처리해줘서 풀이 소스코드 후기 이 문제는 항상 45분 전을 출력해주는 것이기 때문에 0시면 24시로 변환하는 방법으로 풀이할 수 있었음 만약 몇 분 전을 출력하는지도 입력을 받아야 하는 것이였으면.. 2000분 전을 출력하라고 하면 어떻게 할 수 있을까..? 하루는 1,440 분 이므로 1,440으로 나..

반응형