목록알고리즘/프로그래머스 (3)
우보천리 개발
프로그래머스 단어 변환 https://school.programmers.co.kr/learn/courses/30/lessons/43163?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 가장 짧은 변환 과정을 반환해야 하기 때문에 깊이 우선 탐색보다는 넓이 우선 탐색 BFS를 사용하는게 더 알맞다고 생각했다 큐에 단어와 몇번째 변환인지 저장하기 위해서 별도의 클래스를 정의했다 확인해야할 점은 한번에 하나의 단어만 변환할 수 있기 때문에 변환할 수 있는 단어인지 우선 확인해야한다 그렇기에 isConvert 함수를 통해서 다른..
프로그래머스 타겟 넘버 https://school.programmers.co.kr/learn/courses/30/lessons/43165?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 DFS(깊이 우선 탐색) 을 활용해서 모든 경우의 수를 탐색해본다 깊이가 배열의 길이보다 커지면 스택오버플로우가 발생하기 때문에 DFS깊이가 배열의 크기와 같을 때 확인한다 크기가 같고 우리가 찾는 숫자인 'target' 이라면 count++ 증가 시킨다 그렇지 않으면 depth + 1 로 늘려주고, 배열의 다음숫자를 더하고, 뺄셈을 하여..
42889 프로그래머스 카카오 기출 실패율 https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 실패율을 구하는 공식은 스테이지 클리어 못한 플레이어 수 / 스테이지 도달한 플레이어 수 그렇기 때문에 클리어를 못한 사람과, 도달한 플레이어를 카운팅 해주어야한다 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호를 출력해야 되기 때문에 스테이지 번호와 해당 스테이지의 실패율을 저장할 클래스를 만든다 더 자세한건 코드 내 주석을 통해 설명 ..