Algorithm/프로그래머스

Algorithm/프로그래머스

프로그래머스 : 모음사전 (Java)

🔗 문제 링크 코딩테스트 연습 - 모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 📖 풀이 과정 - 규칙을 이해하는 과정이 많이, 오래, 걸렸던 구현 유형의 문제입니다. - 다른 분들 풀이를 보니, 재귀로 푼 분들도 있었습니다. - 'A'는 1번, 'AA'는 2번, 'AAA'는 3번, ... , 'AAAAE'는 6번, 'I'는 1563번, 'EIO'는 1189번 입니다. - 모음은 'AEIOU' 5개로 고정되어있습니다. 또한 주어지는 문자열의 길이는 5 이하입니다. - 따라서, 마지..

Algorithm/프로그래머스

프로그래머스 : 피로도 (Java)

🔗 문제 링크 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 📖 풀이 과정 - 재귀를 이용한 완전탐색 유형의 문제입니다. - visited라는 boolean 1차원 배열을 선언했습니다. - 크기는 dungeons의 길이로 선언하면 됩니다. - 조건은 2가지 입니다. - 이전에 방문하지 않은 곳이어야 합니다. - 현재 피로도가, 최소 필요 필요도 이상이어야 합니다. - 이 두가지 조건을 유지한채 재귀로 완전탐색을 실시합니다. - 모든 구현이 마치면, count 변수와 answer 변수를 비교하여 최대값..

Algorithm/프로그래머스

프로그래머스 : 문자열 압축 (Java)

🔗 문제 링크 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 📖 풀이 과정 - 구현유형의 문제입니다. - substring() 메소드와 인덱스에 대한 고민이 필요합니다. - substring(int start, int end) 메소드는 start인덱스부터 end - 1 인덱스까지의 문자열을 반환합니다. - 문자열의 경우는 다양하므로 이를 모두 충족시켜야 합니다. - 먼저, 주어지는 문자열의 길이가 1일 경우에는 1을 반환해야 합니다. - 여러번 압축하다 마지막 문자열이 압축이 안되면, 진행중인 Str..

Algorithm/프로그래머스

프로그래머스 : 단체사진 찍기 (Java)

🔗 문제 링크 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr 📖 풀이 과정 - 브루트 포스 유형의 문제입니다. - 문제의 흐름은 다음과 같습니다. - 먼저 재귀를 이용해 모든 경우의 수를 구합니다. - 구한 경우마다 조건에 충족하면 answer + 1, 그렇지 않으면 answer 변수를 그대로 둡니다. - 그렇기에 먼저 모든 경우를 구하는 것부터 시작해야 합니다. - 저는 재귀를 이용해 구했습니다. - visited라는 boolean 1차원 배열을 선언했으며 for문을 돌면서 체크했습니다. - 조건을 확..

Algorithm/프로그래머스

프로그래머스 : 숫자 문자열과 영단어 (Java)

🔗 문제 링크 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 📖 풀이 과정 - 문자열을 순회하며 해당하는 값이 있을 경우를 찾는 구현 문제입니다. - 문제를 풀기 위해 가장 중요한 부분은 반복문의 인덱스 값을 잘 조절해야 하는 것입니다. - 먼저 getNumber() 메소드를 통해 해당하는 문자열이 나온다면 숫자를 반환하도록 했습니다. - 이중 for문을 구현하며 내부의 반복문은 외부의 반복문의 인덱스보다 +1 한 값을 기준으로 정했습니다. - substring() 메소드를 주로 이용했기 때문에 ..

Algorithm/프로그래머스

프로그래머스 : 신고 결과 받기 (Java)

🔗 문제 링크 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 📖 풀이 과정 - 배열, 자료구조를 활용한 구현 유형의 문제입니다. - A 사람이 B 사람에 대해 여러번 신고를 하더라도 한 번만 기록됩니다. - 따라서, 저는 매개변수로 받는 report 배열을 set 자료구조를 이용하여 중복을 제거하고 시작했습니다. - 중복이 제거된 report 배열을 순회하며 신고를 당한 사람을 map 자료구조에 넣고 빈도수를 저장합니다. - 여기서는 map.getOrDefault() 메소드를 활용했습니다. - 다음 ..

skyey94
'Algorithm/프로그래머스' 카테고리의 글 목록