본문 바로가기

백준 PS일지

(101)
[Swift/백준] 2309: 일곱 난쟁이 + map의 특징 | PS일지 문제 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 간단한 문제 요약 난쟁이가 9명 있었다. 근데 찐 난쟁이는 7명이다. 그리고 이들의 특징은 7명의 키를 더한 값은 100이라는 것이다. 이상한 난쟁이를 빼고 진짜 7명의 난쟁이의 키를 순차적으로 출력하시오! 고려해야 할 사항 난쟁이를 찾을 수 없는 경우 x 아홉 난쟁이는 모두 키가 다릅니다. 정답이 여러 개가 될 수 있습니다. 문제 풀이, 느낀점 문제 풀이 9C2 9명 중 2 명을 선택해서 전체 키에서 선택된 두명의 키를 뺐을 때 답이 정답입니다. 두명을 선택하기 ..
[백준/Swift] 7575: 바이러스 | PS일지 문제 7575번: 바이러스 첫 번째 줄에는 감염된 프로그램의 개수 N 과 바이러스 코드 추정을 위한 최소 길이를 나타내는 정수 K 가 주어진다. 단, 2 ≤ N ≤ 100이고, 4 ≤ K ≤ 1,000이다. 두 번째 줄부터 각 프로그램에 대한 www.acmicpc.net 간단한 문제 요약 백신 프로그램 개발을 위해서는 바이러스 코드를 알아야 한다. 여러 프로그램에서 공통으로 존재하는 부분이 바이러스로 의심된다. 바이러스는 자신의 코드를 반대로 기입할 때도 있다( 공통으로 존재하는 의심 피하려고). 공통으로 나타나는 코드 길이 K인 경우에 바이러스 코드로 추정한다. 추정되는 바이러스 코드를 구하자! 문제 풀이 프로그램 1: 10 8 23 93 21 42 52 22 13 1 2 3 4 프로그램 2: 1 3 ..
[백준/Swift] 1701: Cubeditor | PS일지 문제 1701번: Cubeditor Cubelover는 프로그래밍 언어 Whitespace의 코딩을 도와주는 언어인 Cubelang을 만들었다. Cubelang을 이용해 코딩을 하다보니, 점점 이 언어에 맞는 새로운 에디터가 필요하게 되었다. 오랜 시간 고생한 www.acmicpc.net 간단한 문제 요약 어떤 문자열내에서 같은 부분 문자열이 두 번 이상 나오는 문자열을 찾는데 이때 두 부분 문자열은 겹처도 된다. 가장 길이가 긴 것을 구하는 프로그램을 작성하시오. 문제 풀이, 했갈렸던 점 주어진 문자열을 pattern 이라 부르겠습니다. 정답은 pattern 내 여러 substring 중 같은 substring 두 개 이상 나와야 합니다. 그 substring은 같은 substring들 중에서 길이가 ..
[백준/Swift] 1305: 광고 문제 해석 | PS일지 :] 문제 간단한 문제 요약 전광판에는 같은 내용의 문구가 무한히 반복되어 나온다. 전광판의 크기 L은 전광판에서 한번에 보이는 최대 문자수를 나타낸다. 전광판의 크기가 L이라면 한번에 L개의 문자를 표시 할 수 있다. 광고업자는 길이가 N인 광고문구를 전광판에 붙이려 한다. 근데 돈을 많이 냈기에 N을 무수히 반복해서 전광판의 빈 곳 없이 L만큼의 길이로 채우려고 한다. 문제 풀이, 했갈렸던 점 예를들어 L: 6 N: 4 내가 광고하기 싶은 광고 문구: LOVE 전광판에는 6개의 글자를 넣을 수 있고 문제에서 광고업자는 광고 문구를 무수히 반복해서 L만큼 채워 넣으려고 합니다. 그렇다면 LOVELO 가 광고 문구의 첫 글자로 채워집니다. 문제를 정말 1시간?2시간 봤는데도 문제 이해하기 어려웠어요 ㅠㅠㅠ....
[백준/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] 11656: 접미사 배열 문제 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 간단한 문제 요약 주어진 input word에 대해서 모든 접미사를 추출하고 이 부분 문자열들을 사전 순으로 정렬 후 출력하시오!! 고려해야 할 사항 없습니다. 문제 풀이, 했갈렸던 점 문자열 알고리즘 공부를 이제 막 접했습니다. 간단하게 문자열의 부분 문자열들을 가지고 놀고 싶었고 주어진 문자열에서 어떻게 부분 문자열들을 출력하고 정렬할까? 고민했습니다. 기본적으로 Swift에서 지원해주는 라이브러리를 이용했기에 정말 편하게 결과를 구할 수 있었습니다.,,(이게 맞는건가?) 주어진 문자열의 각각 index를 얻은 후에 dropFirst..
[백준/Swift] 14938: 서강그라운드 | PS일지 문제 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net 간단한 문제 요약 여러 지역 중 한 지역에 떨여졌을 때 각 지역에 아이템이 몇 개 있는지 알려주는 프로그램을 개발했다. 하지만 어디로 떨어져야 수색 범위 내에서 많은 아이템을 얻어야 할지는 모른다. 낙하한 지역을 중심으로 수색 범위가 주어진다고 할 때 수색 범위 이내에서 가장 많이 얻을 수 있는 아이템 개수를 구하시오. 고려해야 할 사항 X 문제 풀이, 새로 알게된 것 수색범위는 문제에서 주어집니다. 예은이가 떨어졌을 때의 지점을 시작 정점으로 다익스트라 탐색을 ..
[백준/Swift] 11779: 최소비용 구하기 PS일지 문제 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net 간단한 문제 요약 다익스트라 최단 경로 문제입니다! A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시켜야합니다. 이때 A->B까지 갈 때 최소로 드는 비용과 경로를 출력해야한다. 출 -> 도착 지점은 항상 지정되어있다. 고려해야 할 사항 문제를 구현하면서 답은 여러 개가 정답일 수 있습니다. 문제 풀이, 했갈렸던 점 PS 일지 문제를 풀면서 신기했던 점이 있습니다. 예제 입력에 대한 예제 출력의 도시 경로 출..