Algorithm Practice/Programmers

Algorithm Practice/Programmers

[JAVA/자바][프로그래머스 181893] 배열 조각하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181893 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 인덱스가 헷갈려서 노트에 적어가며 풀었다. 접근 방법 1 매 query 작업마다 배열을 갱신한다. 한 작업마다 O(N)의 시간이 소요된다. 시간이 오래 걸리고 코드가 복잡해진다. 접근 방법 2 단순하게 매 작업마다 시작점 포인터(start)와 끝점 포인터(end)를 갱신한다. 한 작업마다 O(1)의 시간이 소요된다. 시간 소요가 적고 코드도 간단하다. 이후 포인터를 이용해 필..

Algorithm Practice/Programmers

[JAVA/자바][프로그래머스 12946] 하노이의 탑

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 "하노이의 탑"은 규칙이 존재하는 대표적인 재귀 문제다. 점화식을 세워서 설계하면 쉽게 구현할 수 있다. (출발지, 경유지, 도착지) 3개의 위치를 선언한다. "N개, 출발지 -> 도착지"의 경우 "N-1개, 출발지 -> 경유지" + "1개, 출발지 -> 도착지" + "N-1개, 경유지 -> 도착지"의 규칙을 가진다. 이를 점화식으로 표현하고 코드로 구현한다. 풀이 이동 정보를 저..

Algorithm Practice/Programmers

[JAVA/자바][프로그래머스 160585] 혼자서 하는 틱택토

문제 160585번 : 혼자서 하는 틱택토 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 현재까지 진행한 게임의 결과가 주어지고, 규칙을 위반한 적이 있는지 판단하는 문제다. 간단한 구현 문제다. 규칙을 위반하지 않고 나올 수 없는 경우를 체크해주면 된다. 풀이 O 의 개수와 X 의 개수를 센다. - countChar() replace 함수를 사용하여 문자열의 길이 변화를 계산한다. 기존 문자열 길이와 replace한 문자열 길이의 차이만큼 O 또는 X가 존재한다. 4가지 경우의 규칙 위반을 검사한다. X 가 O 보다 많을 경우 O가 선공이므로..

호준송
'Algorithm Practice/Programmers' 카테고리의 글 목록