문제 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 풀이 처음 방법(비효율적) 처음에 풀었던 방법은 입력된 문자열에서 removeLast()로 원소를 스택에 추가한 뒤, 스택의 size가 폭발 문자열의 count와 동일할 때 매번 검사를 해주도록 구현하였다. removeLast()로 받다보니 reversed()를 이용해서 다시 뒤집어야했고, 관련이 없는 문자열이 들어올때도 size만 맞으면 검사를 해야했다. 시간초과가 나오지는 ..
문제 https://www.acmicpc.net/problem/6198 6198번: 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으 www.acmicpc.net 풀이 시간초과된거 처음에는 각 빌딩이 볼 수 있는 빌딩 수에 초점을 맞췄었다. 그래서 중첩된 반복문을 통해 현재의 빌딩보다 높이가 높은 빌딩들만 스택에 남겨 result[index]에 값을 매번 더해주었다. 시간복잡도가 O(n^2)이라 찝찝했지만 역시나 시간초과였다. let n = Int(readLine()!)! var result = Array(repeating: 0, count: ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 괄호는 () 모양이 되어야 정상적인 형태이다. 하나씩 쌓일텐데 괄호의 시작은 "("이므로 "("보다 ")"모양이 많아진다면 잘못된 괄호가 될 것이다. 따라서 "("가 들어왔을땐 +1, ")"가 들어왔을땐 -1을 해줘서 count가 음수인 경우엔 닫히는 괄호가 더 많은 것이므로 false를 반환하도록 했따. 또한, count가 0이어야만 올바른 괄호이므로 마지막에 따로 조건도 넣어주었다...
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12981 풀이 단어를 차례대로 확인해가면서 주어진 조건에 어긋나는 경우만 찾아주면 쉽게 해결할 수 있는 문제였다. 나는 for문을 이용해 풀었고, 그 안에 두 가지 조건을 판단하는 구문만 추가하였다. 먼저, 같은 단어를 말하는 경우엔 count를 이용하여 판단해주었다. 말한 단어를 담고 있는 배열의 count와 Set의 count를 비교한다면, 중복되는 단어가 있는 경우에 다를 것이다. 다음으로 잘못된 단어를 말한 경우이다. 이전 단어의 마지막 캐릭터와 새로운 단어의 첫번째 글자를 비교해서 다른 경우에도 return을 해주었다. 이때, 첫번째 순서인 경우에는 비교할 것 없이 값만 바꿔주면되기때문..
문제 설명 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 파일을 이름 순으로 정렬하면 나중에 만들어진 ver-10.zip이 ver-9.zip보다 먼저 표시되기 때문이다. 버전 번호 외에도 숫자가 포함된 파일 목록은 여러 면에서 관리하기 불편했다. 예컨대 파일 목록이 ["img12.png", "img10.png", "img2.png", "img1.png"]일 경우, 일반적인 정렬은 ["img1.png", "img10.png", "img12.png", "img2.png"] 순이 되지만, 숫자 순으로 정렬..
- Total
- Today
- Yesterday