본문 바로가기

알고리즘19

자바 - 프로그래머스 / 광물 캐기 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr LV 2 구현 방법 핵심 : diamond, iron, stone 갯수 많은 순서로 좋은 곡괭이 쓰면 최소의 피로도를 얻을 수 있다. 1. (곡괭이 수) * 5와 minerals.length 중 작은 값을 iterSize에 저장한다 => "광산에 있는 모든 광물을 캐거나, 더 사용할 곡괭이가 없을 때까지 광물을 캡니다." 이 조건 때문에 해야함. 이거 안하면 test case 8번 오류 뜬다.... 2023. 4. 24.
자바 - 프로그래머스 / 연속된 부분 수열의 합 https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr LV 2 구현 방법 5 ≤ sequence의 길이 ≤ 1,000,000 이므로 이중 포문 돌리면 런타임 에러 뜬다 이럴 때 쓰는 방법이 바로 투 포인터 알고리즘! O(n)으로 가능하다. 투 포인터 알고리즘을 사용해서 시작 부분, 끝 부분 두가지 포인터를 만들어서 원하는 연속된 합에 부합할때 까지 포인터를 움직이는 방법으로 구현했다. 원하는 값보다 작은 경우 끝 부분 포인터를 움직혀 합을 크게 하.. 2023. 4. 24.
자바 - 프로그래머스 / 행렬 테두리 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Lv 2 구현 방법 조건은 queries의 행의 개수(회전의 개수)는 1 이상 10,000 이하입니다. 1 ≤ x1 startRow; j--) { plate[j][endCol] = plate[j - 1][endCol]; min = Math.min(min, plate[j][endCol]); } plate[startRow + 1][endCol] = firstNum; answer[i] = min; } .. 2023. 4. 21.
자바 - 프로그래머스 / 추억 점수 https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr LV 1 구현 방법 제한 사항 3 ≤ name의 길이 = yearning의 길이≤ 100 3 ≤ photo의 길이 ≤ 100 1 ≤ photo[i]의 길이 ≤ 100 이므로 photo를 이중 포문 돌려도 된다. 또한 name과 yearning을 해시 맵으로 만들면 이름 비교는 O(1)으로 해결 됨. 따라서 HashMap 필요하다. 문제는 해시맵에서 이 key값이 존재 하는지 확인하는 과정이 필요.. 2023. 4. 18.