본문 바로가기

반응형

PS

(326)
[BOJ] 백준 25192 인사성 밝은 곰곰이 (Swift) 문제 https://www.acmicpc.net/problem/25192 25192번: 인사성 밝은 곰곰이 첫번째 새로운 사람이 들어온 뒤 pjshwa, chansol, chogahui05은 모두 곰곰티콘으로 인사했다. 두번째 새로운 사람이 들어온 뒤 pjshwa와 chansol은 다시 곰곰티콘으로 인사했다. www.acmicpc.net 풀이 "ENTER"는 새로운 사람이 채팅방에 입장하게 된 경우이고, 새로운 사람이 채팅방에 입장한 이후 처음 채팅을 입력할 때 곰곰티콘을 사용합니다. 곰곰티콘을 사용된 횟수를 구하는 문제입니다. 저는 닉네임을 담을 Set 자료형을 떠올렸습니다. Set 자료형에 해당 닉네임이 없다면, 처음 채팅을 치는 것이므로 곰곰티콘을 사용할 것이고 닉네임이 있다면, 이미 채팅을 쳤기 ..
[BOJ] 백준 24723 녹색거탑 (Swift) 문제 https://www.acmicpc.net/problem/24723 24723번: 녹색거탑 Naver D2를 아시나요? D2는 For Developers, By Developers의 약자로, 개발자들을 위해 개발자들이 직접 만들어 가고 있는 네이버 개발자 지원 프로그램입니다. 네이버가 축적한 기술과 지식을 공유하고, 외 www.acmicpc.net 풀이 1칸씩 내려올 때마다 경로가 2개씩 생기게 됩니다. 즉, 경로는 $2^n$ 개 입니다. 시프트연산자를 사용하여 출력할 수도 있고.. for문을 사용하여 2를 제곱할 수도 있고.. Foundation 라이브러리에 있는 pow 메서드를 사용해도 됩니다. 소스코드 후기 경우의 수가 2의 제곱이 된다는 것을 안다면 쉽게 풀 수 있습니다.
[BOJ] 백준 2578 빙고 (Swift) 문제 https://www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net 풀이 5 * 5 개의 빙고판에서 빙고가 되는 경우가 어떤 경우인지 생각해봅시다. 가로로 모든 수가 지워진 경우 세로로 모든 수가 지워진 경우 대각선 이 3가지 경우입니다. 먼저, 5 * 5의 Bool 자료형의 2차원 배열을 false로 초기화해줍시다. 그 이후, 숫자를 key, 숫자의 좌표가 value인 Dictionary를 생성해주었습니다. 이제 빙고판에 쓰여진 수를 지울 때, 수를 입력받고, Dicti..
[BOJ] 백준 10157 자리배정 (Swift) 문제 https://www.acmicpc.net/problem/10157 10157번: 자리배정 첫 줄에는 공연장의 격자 크기를 나타내는 정수 C와 R이 하나의 공백을 사이에 두고 차례대로 주어진다. 두 값의 범위는 5 ≤ C, R ≤ 1,000이다. 그 다음 줄에는 어떤 관객의 대기번호 K가 주어진다. www.acmicpc.net 풀이 가로와 세로 길이에 따른 규칙을 구할 수는 없었습니다. 가로 세로가 최대 1,000 이므로 1,000 * 1,000 = 1,000,000으로 완전탐색으로 시간내에 풀이할 수 있다고 생각해 직접 좌석을 배정해 주는 방식으로 풀어야겠다고 생각이 들었습니다. 대기번호가 가로 * 세로 보다 크다면, 좌석을 배정할 수 없는 경우입니다. 아니라면, 2차원 배열을 사용하여 0,0 부..
[BOJ] 백준 1343 폴리오미노 (Swift) 문제 풀이 "XXXX" -> "AAAA", "XX" -> "BB"로 치환해주는 문제입니다. Swift에서는 replacingOccurrences(of:with:) 메서드를 사용해 손쉽게 문자열을 치환할 수 있습니다. https://developer.apple.com/documentation/foundation/nsstring/1412937-replacingoccurrences/ replacingOccurrences(of:with:) | Apple Developer Documentation Returns a new string in which all occurrences of a target string in the receiver are replaced by another given string. dev..
[BOJ] 백준 4779 칸토어 집합 (Swift) 문제 https://www.acmicpc.net/problem/4779 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, www.acmicpc.net 풀이 가운데 문자열을 공백으로 바꿔줄 때, 몇개의 공백이 들어가는지 확인해봅시다. n이 3일 때, 가운데 공백이 $3^2 = 9$개가 들어가게 됩니다. n이 2일 때는 $3^1 = 3$개가 들어가네요. 즉, 공백은 n에 따라서 $3^{n-1} 개$가 들어가네요. 재귀함수로 접근을 해서 풀어줍시다. n이 0이라면 "-"를 return 해줍시다. n이 0보다 크다면, 공백을 $3^{n-1}개 앞..
[BOJ] 백준 13909 창문 닫기 (Swift) 문제 https://www.acmicpc.net/problem/13909 13909번: 창문 닫기 서강대학교 컴퓨터공학과 실습실 R912호에는 현재 N개의 창문이 있고 또 N명의 사람이 있다. 1번째 사람은 1의 배수 번째 창문을 열려 있으면 닫고 닫혀 있으면 연다. 2번째 사람은 2의 배수 번째 www.acmicpc.net 풀이 창문이 열려있으려면 해당 수의 약수의 개수가 홀수개여야 합니다. 약수의 개수가 홀수개인 수는 제곱수 밖에 없습니다. ex) 1, 4, 9, 16.. n이하의 제곱수들의 개수를 출력해주면 되는 문제입니다. 소스코드 후기 창문이 열려있는 조건에 대해 생각해보고 풀 수 있었습니다.
[BOJ] 백준 15650 N과 M (2) (Swift) 문제 https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 1부터 n까지 자연수 중에서 중복없이, 오름차순 형태의 길이가 m인 수열을 모두 출력하는 문제입니다. https://dev-mandos.tistory.com/169 [BOJ] 백준 15649 N과 M (1) (Swift) 문제 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복..

반응형