본문 바로가기

반응형

백준

(322)
[BOJ] 백준 10807 개수 세기 (Swift) 문제 https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 풀이 고차함수인 filter를 사용하면 쉽게 풀이할 수 있는 문제 소스코드 후기 for문으로 array를 돌면서 v와 같으면 count를 1씩 늘려주는 방식으로도 풀이가 가능 하지만 filter에 대해 안다면 filter를 써서 풀이하는게 depth도 줄어들고 더 직관적인 것 같다.
[BOJ] 백준 1110 더하기 사이클 (Swift) 문제 https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 풀이 문제를 차근차근 읽고 풀어보자. 먼저, 새롭게 만들어질 수, 계산에 사용될 수, 그리고 맨 처음 입력받은 수를 선언한다. 새로운 수는 -1로 초기화를 해줌 (입력 받은 수가 0보다 크고 99보다 작기 때문, -1, 100, 101 머 상관없음) while문을 돌리고, 종료 조건은 새로운 수가 맨 처음 입력받은 수와 같을 때로 설정 이제 문제에 나온 것을 그대로 작성해서 새..
[BOJ] 백준 10951 A+B - 4 (Swift) 문제 https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 Swift에서 cmd + D 를 입력해서 EOF를 입력시킬 수 있음 EOF가 나오기 전까지 입력을 받으려면 while-let 구문으로 입력받을 수 있음 10952 문제에서 사용한 while let에 입력이 [0, 0]이 아닌지 확인하는 조건만 지우면 정답 https://dev-mandos.tistory.com/50 [BOJ] 백준 10952 A+B - 5 (Swift) 문제 https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받..
[BOJ] 백준 10952 A+B - 5 (Swift) 문제 https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 while문을 사용해 특정 문자가 나오기 전까지 반복문을 돌릴 수 있음 while let 구문으로 optional을 언래핑할 수 있고, 콤마를 찍어 조건을 설정할 수 있음 조건은 입력받은 input이 [0, 0]이 아니라면 계속해서 반복문을 돌리도록 작성하였음 input이 [0, 0]이라면 while문을 탈출할 수 있도록 break 구문을 작성해도 무방할 것 같다.. 소스코드 후기 while let 문법을 잘 사용하지 않았는데 알고만 있어서 이 문제에 적용하면 좋을 것 같아서 사용해봤음 brea..
[BOJ] 백준 2439 별 찍기 - 2 (Swift) 문제 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 풀이 별 찍기 - 1 과 비슷한 문제 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 마찬가지로 2중 for문으로 풀이하거나 String(repeating: String, count: Int) 문법을 사용해서 풀 수 있는 문제 print문의 terminator 옵션을 알아야 할 ..
[BOJ] 백준 2438 별 찍기 - 1 (Swift) 문제 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 풀이 2중 중첩 for문으로 풀이하는 방법이 있을 것 String(repeating: String, count: Int)를 사용하면 for문을 1개만 쓰고도 풀이가 가능할 것 소스코드 후기 맨 처음 코딩 배울 때, 2중 for문이 헷갈렸던 시절이 떠올랐음.. String(repeating: String, count: Int) 문법을 사용하는게 훨씬 간결해보이고 이해하기도 쉬운 것 같다..
[BOJ] 백준 11022 A+B - 8 (Swift) 문제 https://www.acmicpc.net/problem/11022 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net 풀이 이전에 풀었던 문제와 거의 동일하다. https://www.acmicpc.net/problem/11021 출력문에 a랑 b만 추가해주면 동일한 문제 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 소스코드 후기 11021 문제랑 거의 동일해서 11021 문제를 풀었다면 껌으로 풀 수 있는 문제라고 생각함
[BOJ] 백준 11021 A+B - 7 (Swift) 문제 https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 풀이 이전에 풀었던 문제(10950)랑 비슷한데, Case n# 을 앞에만 붙혀주면 되는 문제..? https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 소스코드 후기 단순히 반복문으로 풀 수 있는 문제 풀이로직(a+b)을 따로 함수로 빼서 구현해줬음

반응형