본문 바로가기

반응형

분류 전체보기

(395)
[BOJ] 백준 9086 문자열 (Swift) 문제 https://www.acmicpc.net/problem/9086 9086번: 문자열 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으 www.acmicpc.net 풀이 문자열의 첫 글자를 뽑아내는 first, 마지막 글자를 뽑아내는 last를 사용해서 쉽게 풀이할 수 있습니다. 반환 자료형이 Character이기 때문에, String으로 변환하거나, 문자열 보간법을 사용하여 출력해주면 됩니다. 소스코드 후기 first, last에 대해 알고있다면 쉽게 풀 수 있는 문제입니다.
[BOJ] 백준 10811 바구니 뒤집기 (Swift) 문제 https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 풀이 [Int](0...n)으로 바구니들을 초기화 해줍시다. 뒤집는 것을 어떻게 할 수 있을까요? revered() 메서드를 사용하여 뒤집을 수 있습니다. reversed는 어떻게 활용할 수 있을까요? Array의 replaceSubrange 메서드를 사용하여, 풀이할 수 있습니다. 단순히 Array에서 뒤집을 범위를 뒤집어서 넣어주면 되겠죠? 예를 들어 [1, 2, 3, 4, 5] ..
[BOJ] 백준 10813 공 바꾸기 (Swift) 문제 https://www.acmicpc.net/problem/10813 10813번: 공 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 www.acmicpc.net 풀이 https://dev-mandos.tistory.com/106 [BOJ] 백준 10810 공 넣기 (Swift) 문제 https://www.acmicpc.net/problem/10810 10810번: 공 넣기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매 dev-mandos.tistory...
[BOJ] 백준 10810 공 넣기 (Swift) 문제 https://www.acmicpc.net/problem/10810 10810번: 공 넣기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 www.acmicpc.net 풀이 N개의 바구니를 Int 자료형을 담은 1차원 배열로 N개 만들어야 겠다는 생각이 들었습니다. index는 0부터 시작하므로, 총 N + 1 개를 만들어 주었습니다. 바구니가 비어있다면 0을 출력해주어야 하므로, 맨 처음에는 모두 비어있기 때문에 값은 0으로 초기화를 해주었습니다. M개의 줄에 거쳐서 공을 넣는 방법이 주어지는데, i번 부터, j번 바구니까지, k번 번호가 적힌 공을 넣..
[BOJ] 백준 25314 코딩은 체육과목 입니다 (Swift) 문제 https://www.acmicpc.net/problem/25314 25314번: 코딩은 체육과목 입니다 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ www.acmicpc.net 풀이 "long" String 자료형을 N / 4 번만큼 반복하고, "int"를 붙여주면 되는 문제입니다. String(repeating:count:) 를 사용하여 repeating에 넣어준 문자를 count 만큼 반복해 새로운 String을 만들 수 있습니다. 그 뒤 "int"를 붙여주면 끝입니다. 소스코드 후기 String을 초기화 하는 방법 중 하나인, String(rep..
[BOJ] 백준 2743 단어 길이 재기 (Swift) 문제 https://www.acmicpc.net/problem/2743 2743번: 단어 길이 재기 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 Swift에서 String의 길이를 세는 방법으로 count 프로퍼티를 사용할 수 있습니다. 단순히 count를 출력만 하면 되는 문제입니다. 소스코드 후기 String의 count 프로퍼티를 안다면 쉽게 풀 수 있는 문제입니다.
[BOJ] 백준 11382 꼬마 정민 (Swift) 문제 https://www.acmicpc.net/problem/11382 11382번: 꼬마 정민 첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 1012)이 공백을 사이에 두고 주어진다. www.acmicpc.net 풀이 단순이 배열을 입력 받은 후 세가지 수의 합을 출력해주는 문제입니다. 배열의 인덱스를 통해서 세개의 수를 나누어 합을 구할 수도 있고, 고차함수 reduce를 사용해 배열의 합을 나타낼 수 있습니다. 소스코드 후기 Swift에서 split이나 components(Foundation import 해야함)를 사용하여 String -> Array로 변환하는 방법에 대해 안다면 쉽게 풀 수 있는 문제인 것 같습니다.
[알고리즘] 버블 정렬 (Swift) 버블 정렬이란? 현재 원소와 바로 다음 원소의 값을 비교하여 조건에 맞으면 교환하는 방식으로 정렬합니다. 원소의 이동이 거품이 수면으로 올라오는 것과 비슷한 모습을 보이기에 버블 정렬이라는 이름이 지어졌다고 합니다. 동작 방식 [5, 1, 3, 9, 4, 2, 7, 8, 6] 이라는 Int 배열이 있다고 가정해보겠습니다. 오름차순으로 정렬하려면 어떤식으로 동작할까요? Step 1 현재 원소 5와, 다음 원소 1과 비교합니다. 5가 더 크기 때문에 5와 1의 위치를 변경합니다. 현재 원소 5와 다음 원소 3과 비교합니다. 5가 더 크기 때문에 5와 3의 위치를 변경합니다. 현재 원소 5와 다음 원소 9를 비교합니다. 9가 더 크기 떄문에 위치를 변경하지 않습니다. 이것을 계속 반복하면 배열이 다음과 같이 ..

반응형