분류 전체보기266 [Swift][프로그래머스][완전탐색] 문자열 압축 요구능력 문자열 완전탐색 문제풀이 문제의 조건대로 문자열을 압축한다고 생각을 해보면 굳이 현재문자열의 절반을 넘는부분까지 개수를 해볼 필요가 없다. 예를들어서 abcabc가 있다. 이 문자열을 4개단위로 잘라서 압축하는게 의미가 없을것이다. 이 문제에서는 이런 그리디한 부분까지는 원하지 않은것같다. 절반이상까지 탐색해도 정답이니.. 거를방법이 없던걸수도..? 실제로 arr.count / 2 를 arr.count로 해도 정답이 나온다. 1개단위 ~ 문자열의 절반까지 압축을 할것이다. 그런데, 문제에서 적은 2a2ba3c와 같은 형태로 만들어야 result값을 리턴할 수 있겠다. 그럼 문자열을 저장하기위해 comp 프로퍼티를 하나 생성해준다. 그리고 2a2b와 같이 나타내려면 현재 내가 자르고있는 문자열이 .. 2022. 4. 21. [Swift][구현] 백준 14503번 (로봇청소기) 요구능력 구현 문제풀이 1) 그냥 입력받는 부분이다. let nm = readLine()!.split(separator: " ").map{Int(String($0))!} let n = nm[0] let m = nm[1] let rcd = readLine()!.split(separator: " ").map{Int(String($0))!} let r = rcd[0] let c = rcd[1] let d = rcd[2] var arr = [[Int]]() for _ in 0.. 서의경우는 따로 처리를 해줘야한다. ex) 현재 동쪽을 바라보고 있는 상태로 다음 칸으로 이동했다면 d = 1이다. 그렇다면 우리가 왼쪽을 바라봐야 하니까 d = 0이된다. 그럼 우리는 동쪽에서 왼쪽인 북쪽으로 이동을 해야된다는 것이다.. 2022. 4. 20. [Swift][프로그래머스][그리디] 체육복 요구능력 그리디 문제풀이 이 문제는 전체 학생수가 30명이하라고 했기 때문에 뭐 어떻게 풀어도 풀기만하면 시간초과는 안나온다고 생각한다. 그리고 여분을 가지고 있는 학생과 도난당한 학생들이 있는데, 여분을 가지고있는 학생들이 자기 앞뒤번호로 나눠준다는 문제이다. 이 문제에서 설명이 필요한 부분은 딱 2개인것같다.(내가 놓친 예외) 1) 우리는 입력받을 때 무조건적으로 오름차순으로 준다는 말이 없었다. 하지만 문제를 풀 때 오름차순으로 받아야 편하게 풀린다.. 그리고 보여지는 테케에서는 오름차순으로만 주기때문에 사람들이 놓치기 쉬운 예외인것같다. 그래서 lostTemp와 reserved는 각각 lost와 reserve를 정렬한것이다. 참고) (테케 18, 20번)통과 2) 문제의 조건 중 "도난당한학생은 .. 2022. 4. 20. [Swift][프로그래머스][해시] 베스트앨범 요구능력 딕셔너리의 활용 및 정렬 문제풀이 아래는 문제의 조건이다. 1. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 2. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 3. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 1번을 처리하기 위해서 dict를 생성하고 ["classic": 1450]과 같이 저장하였다. 그리고 정렬해서 rankDict에 ["classic": 1]과 같이 저장하였다. 다음으로 2번을 처리하기 위해서 uniqueDict를 생성하고 [0 : ("classic", 500)]과 같이 저장하였다. 그리고 rankDict를 활용해서 장르별로 정렬을 해주었다. 이렇게 장르별로 정렬된 것은 sortedUniqueDict에 저장해주었고, sor.. 2022. 4. 19. 이전 1 ··· 12 13 14 15 16 17 18 ··· 67 다음