본문 바로가기

백준

(15)
[백준/Swift] 모음의 개수: 1264 | PS일지 문제 간단한 문제 요약 영문 입력 받았을 때 모음 "a,e,i,o,u" 개수를 세시오!!!!!!!! 고려해야 할 사항 # 입력 받을 시 종료! 코드 while let input = readLine(), input != "#" { print( input .lowercased() .filter { "aeiou".map { String($0) }.contains(String($0)) }.count) }
[백준/Swift] 6550: 부분 문자열 | PS일지 문제 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net 간단한 문제 요약 2개의 문자열 s t가 주어졌을 때 s가 t의 부분 문자열인지!! 이 문제에서의 부분 문자열이란 t의 문자열에서 몇 개의 문자들을 제거 한 후 합쳤을 때 s와 일치해야 하는 경우. 문제 풀이 | PS일지 s == needle t == text tIdx = 0, nIdx = 0 각각의 문자열을 배열로 만든 후에, 각각의 배열에 대해서 따로 따로 탐색할 포인터를 index로 두었습니다. 그리고 text[tIdx] == nIdx[nIdx] 일치하지 ..
[백준/Swift] 12605: 단어순서 뒤집기 | PS일지 문제 12605번: 단어순서 뒤집기 스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 www.acmicpc.net 간단한 문제 요약 Case별로 한 문장에서 space로 띄어쓰기 된 단어를 반대로 뒤집어라! 문제 풀이 LIFO(Last In First Out)의 특징을 지닌 stack으로 풀 수 있습니다. stack의 특성상 pop을 해야할 때 가장 최근에 stack의 list에 삽입된 top에 있는 원소가 pop됩니다. Swift 고차함수, reversed()를 통해서 아주 간단히 풀 수 있습니다. (1...Int(readLine()!)!).map{ print("Ca..
[백준/Swift] 2096: 내려가기 | PS일지 문제 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net 간단한 문제 요약 첫 줄에서 마지막 줄로 내려가는 게임이다. 맨 첫 줄의 시작은 별표의 위치이다. 그리고 각각의 칸에는 숫자가 있다. 위 층(별표)에서 아래층으로 내려갈 수 있는 경우는 각각의 별표 아래 동그라미 친 경우 이다. 마지막 줄로 내려갔을 때 얻을 수 있는 (방문한 칸 숫자 누적 합산)최대, 최소 점수를 구하시오!! 문제 풀이, 했갈렸던 점 어떻게 하면 문제를 풀 수 있을까? 고민했습니다. 그래프 형식의 input만 보면 dfs, bfs가 자꾸 생각나네요. d..
[백준/String] 10808: 알파벳 개수 | 문자열 익숙해지기,, 문제 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 간단한 문제 요약 소문자로 이루어진 단어 중에서 각 알파벳이 단어에 몇개씩 포함되어있는지 구하시오! 문제 풀이 | PS일지 문자열 친숙해지기!! 가장 쉽게 떠오른 방법은 String 타입의 문자 1개씩을 저장한 후에 a...z에서 대응하는 index를 증가시키는 방법을 생각했습니다. C에서 게임 만들 때 자주 사용했던 ascii를 써보고 싶었습니다.. 아스키 코드집을 보면 알 수 있는데 대문자 A는 65. 소문자 a는 97. 입니다.. String에서는 아스키 코드로 바꿀 수없지만 Character타입은 ascii로 바꿀 수 있어 이를 이용했습니다. 코..
[백준/Swift] 15683 : 감시 BOJ_15683.swift 15683 : 감시/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 15683 : 감시 / 문제 소개 문제는 이해하기 쉬웠다. 그렇지만 코드를 구현함에 있어서 그렇진 않았다.... 사무실에는 K개의 CCTV가 설치되어 있다. CCTV는 다섯가지다. CCTV는 90도 방향으로 회전도 가능하다. CCTV는 CCTV를 통과할 수 있다!!! 0 1 0 2 0 0 0 0 0 0 0..
[백준/Swift] 17086 : 아기 상어2 BOJ_17086.swift 17086 : 아기 상어2/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/17086 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸과 상어의 수가 각각 한 개 이상인 입력만 www.acmicpc.net 17086 : 아기 상어2 / 문제 소개 N×M 크기의 공간에 " 1 " 로 표현된 아기 상어 여럿이 존재한다. 아기 상어한테 닿지 않는 최대 안전 거리를 구하는게 이 문제이다. 풀이 과정 완전 탐색으로 맵의 모든 0인 곳에서 아기 상어가 존재 " 1 " 인 지점까지 안전거리 탐색..
[백준/Swift] 3055 : 탈출 백준 BFS 탈출 문제 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/3055 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 문제 소개 매 분마다 물이 고인 곳에서 주변 으로 한칸씩 범람하는데, 고슴도치 또한 돌, 물이 없는 곳을 통해 한 칸 씩 이동할 수 있습니다. 최종적으로 고슴도치가 비버의 굴로 이동하면 걸린 시간을 출력 else "KAKTUS"를 출력하는 bfs 문제입니다. 문제에서 주어진 키워드 R행 C열 비어있는 지역 = . 물이 차있는 지역 = * 돌이 있는 지역 ..