본문 바로가기

반응형

PS/백준

(318)
[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으로 나..
[BOJ] 백준 14681 사분면 고르기 (Swift) 문제 https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 풀이 조건문에 대한 이해가 있으면 쉽게 풀 수 있는 문제 소스코드 후기 조건에 맞는 1, 2, 3, 4분면을 출력해주면 되는 문제
[BOJ] 백준 2753 윤년 (Swift) 문제 https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 풀이 조건문과 논리 연산자를 사용할 줄 알아야 함 문제를 잘 읽어보면서 해석해보자..! 윤년은 연도가 4의 배수이면서 연도를 4로 나누었을 때, 0이고 (and(&&) 연산) 100의 배수가 아닐 때 또는 400의 배수일 때 연도를 100으로 나누었을 때 0이 아니거나, (or(||) 연산) 연도를 400으로 나누었을 때 0인 조건은 연도 % 4 == 0 && (연도 % 100 !=..
[BOJ] 백준 9498 시험 성적 (Swift) 문제 https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 조건문을 사용해서 풀이할 수 있는 문제 if문, 또는 switch문을 사용해서 풀 수 있음 Swift에서는 switch문에 범위(range)를 넣을 수 있다. 범위를 못 넣는 언어인 경우 80 ~ 89 같은 경우 score / 10 의 몫을 활용해서 풀 수 있을 듯. 소스코드 후기 이번 문제는 switch문을 사용해서 풀었는데 개인적으로 if문 보다는 가독성이 더 뛰어나다고 생각함 Swift에서는 switch문에..
[BOJ] 백준 1330 두 수 비교하기 (Swift) 문제 https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 풀이 비교 연산자 + 조건문을 사용할 줄 안다면 쉽게 풀 수 있음 3항 연산자로 풀이할 수도 있음 소스코드 후기 단순히 비교 연산자와 조건문을 사용할 줄 아느냐~ 를 묻는 문제인 것 같다! 3항 연산자를 사용해서 풀이를 해봤는데, 중첩된 3항 연산자를 사용하니 가독성이 떨어지는 것 같아서 개인적으로는 중첩된 삼항연산자는 지양하는게 좋겠다고 생각된다. (물론 중첩되지 않은 삼항연산자 사용은 좋아함!)
[BOJ] 백준 25083 새싹 (Swift) 문제 https://www.acmicpc.net/problem/25083 25083번: 새싹 아래 예제와 같이 새싹을 출력하시오. www.acmicpc.net 풀이 10171(고양이), 10172(개) 문제와 비슷한 단순 출력 문제 역슬래쉬를(\) 출력하려면 print 문에 역슬래쉬(\)를 2번 작성해야함 큰따옴표(")를 출력하려면 print 문에 역슬래쉬(\) + 큰따옴표(")를 작성해야함 큰따옴표3개 (""")로 감싸주어서 여러줄을 출력할 수 도 있음 문자열 양 옆에 "#"을 써줘서 문자열의 이스케이프 문자를 인식하지 않고 출력할 수 있음 소스코드 후기 10171(고양이), 10172(개) 문제와 마찬가지로 다양한 풀이 방법으로 작성했음 """ 으로 다수의 줄을 가진 문자열로 작성 방법, #을 사용하..

반응형