본문 바로가기

dev/코테

(23)
숫자 카드 나누기 프로그래머스에서 숫자 카드 나누기 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다.  두 개의 배열의 각각 최대 공약수가 상대편 배열의 최대공약수가 되지 않는 것이 이 문제의 핵심입니다. 먼저 배열을 오름차순으로 정렬합니다.(35 ~ 36라인) 각 배열의 최대공약수를 조회합니다.(38 ~ 39라인, 50 ~ 58라인, 60 ~ 68라인) 최대공약수를 조회할 때 유클리드 알고리..
문자열 압축 프로그래머스에서 문자열 압축 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다.  문자열에서 같은 문자가 연속해서 반복되는 경우 압축하는 것이 이 문제의 목표입니다. 문자열을 자르는 단위가 문자열 절반을 넘어가면 반복되는지 확인할 수 없기 때문에 루프 범위를 절반으로 설정합니다.(20 ~ 49라인) 문자열 단위만큼 연속 반복되는지 조회합니다.(..
석유 시추 프로그래머스에서 석유시추 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 이 문제를 풀 때 Stack을 사용해서 DFS로 풀었습니다. 각 석유 시추관의 위치에서 추출할 수 있는 석유량을 저장하는 배열 oilArr을 생성합니다.(43라인) 석유 탐색하는 방향을 저장하는 di배열, dj배열을 생성합니다.(46 ~ 47라인) 석유 탐색이 가능한 석유 시추관 조회합니다.(49 ..
110 옮기기 프로그래머스에서 110 옮기기 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/77886 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 문자열을 문자 단위로 스택에 저장합니다.(35 ~ 50라인) Stack 사이즈가 2개 이상인 경우 Stack의 마지막 2개의 문자와 현재 문자를 110인지 비교합니다. 110인 경우 StringBuilder 클래스 stdSb 객체에 저장하고, 아닌 경우 Stack에 문자들을 저장합니다.(36 ~..
숫자 변환하기 프로그래머스에서 숫자 변환하기 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 최소 연산 횟수를 구하기 위해 BFS로 풀었습니다. 숫자와 연산 횟수를 저장하는 배열을 큐에 저장합니다.(32 ~ 33라인) 0번째 인덱스는 현재까지 연산한 숫자이고, 1번째 인덱스 현재까지 연산한 횟수입니다. 연산한 숫자 여부를 저장하는 set을 생성합니다.(35 ~ 36라인) set은 BF..
카카오프렌즈 컬러링북 프로그래머스에서 카카오프렌즈 컬러링북 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/1829 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명의 위의 링크에서 확인하시면 됩니다. DFS로 풀기 위해 재귀함수를 사용해서 풀었습니다. 문제는 해당 같은 색상의 영역을 구하는 것입니다. 같은 색상이어도 상하좌우로 연결되어 있지 않다면 같은 영역으로 취급하지 않습니다. 색상은 0보다 큰 수이기 때문에 0보다 큰 경우 탐색을 실행합니다.(37 ~ 43라인, 60 ~ 83라인)..
여행경로 프로그래머스에서 여행경로 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 저는 이 문제를 BFS로 풀어서 큐를 사용했습니다. 여행 경로의 출발지는 무조건 ICN(인천)이라서 출발지가 ICN인 티켓을 찾아서 큐에 추가하고 주어진 항공권 사용여부를 확인하기 위한 boolean 배열을 큐에 추가합니다.(35~47라인) 항공권을 조회해서 여행 경로를 탐색합니다.(51~88라인) ..
가장 먼 노드 프로그래머스에서 가장 먼 노드 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 각 노드별 시작 노드부터의 거리를 저장하는 Map을 생성합니다.(23~31라인) 시작 노드에서 각 노드까지의 거리를 BFS 알고리즘 사용해서 구합니다.(33~62라인) 각 노드의 거리를 구하면서 최대 먼 거리를 구합니다.(42~44라인) 다음 노드가 아직 방문하지 않았고, 시작 노드가 아닌 경우..