프로그래밍 99

[프로그래머스] 롤케이크 자르기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 및 풀이 처음 생각한 방법은 topping 배열을 1번째 인덱스부터 topping length - 1까지 기준을 이동하면서 배열을 앞쪽과 뒷쪽으로 배열을 복사하고 각 배열을 Set에 추가하여 중복을 제거 후 각 Set의 길이를 비교하여 동일 한지 비교 import java.util.Arrays; import java.util.Set; import java.util.stream.C..

[프로그래머스] 올바른 괄호

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 및 풀이 전형적인 Stack 구조를 활용한 문제 Stack을 사용 import java.util.Stack; public class Q30_12909 { boolean solution(String s) { Stack stack = new Stack(); int length = s.length(); for (int i = 0; i < length; i++) { char c = s.c..

[프로그래머스] K번째수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 및 풀이 문제 설명의 내용에 따라 그대로 구현 import java.util.Arrays; public class Q30_42748 { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for (int i = 0; i < commands.length; i++) ..

[프로그래머스] 혼자 놀기의 달인

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131130?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 및 풀이 배열의 값은 다음 수의 인덱스를 가리키고 있음 가리킨 인덱스를 추적하여 시작한 인덱스로 되돌아오면 하나의 묶음 각각의 묶음의 길이 중 가장 긴 길이와 두 번째 긴 길이의 곱을 반환 묶음의 길이를 구하기 위하여 재귀를 사용 public class Q30_131130 { public int solution(int[] cards) { int lengt..

[프로그래머스] 같은 숫자는 싫어

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 및 풀이 인수 arr에서 중복되는 숫자는 예측할 수 없으므로 ArrayList를 사용 arr의 숫자는 0에서 9 사이이므로 연속하는 숫자를 비교하기 위한 변수의 초기값은 -1로 설정 import java.util.ArrayList; import java.util.List; public class Q30_12906 { public int[] solution(int []arr) { i..

[프로그래머스] 폰켓몬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 및 풀이 사용 언어: Java 가장 많은 종류의 폰켓몬을 골랐을 때 그 폰켓몬의 종류의 수를 반환 폰켓몬의 종류는 중복이 존재 고를 수 있는 수보다 폰켓몬의 종류가 적은 경우에는 폰켓몬의 종류의 수가 폰켓몬을 고를 수 있는 종류의 한계 폰켓몬의 종류를 Set을 이용하여 중복을 제거 import java.util.HashSet; import java.util.Set; public cl..

[Java] lucene 간단 예제

검색 엔진으로 많이 사용되고 있는 lucene에 대한 간단 예제 프로젝트는 Gradle, 언어는 Java로 작성 dependencies { // https://mvnrepository.com/artifact/org.apache.lucene/lucene-core implementation group: 'org.apache.lucene', name: 'lucene-core', version: '8.9.0' // https://mvnrepository.com/artifact/org.apache.lucene/lucene-analyzers-common implementation group: 'org.apache.lucene', name: 'lucene-analyzers-common', version: '8.9.0..

[프로그래머스] 완주하지 못한 선수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 및 풀이 제한 사항에서 동명이인이 존재 한다 하였기에 동명이인이 모두 완주 하거나 동명이인 중에 한명이 완주를 하지 못한 상황을 고려 이름이 중복을 고려 해야 하니 set 보다는 list를 사용 import java.util.*; /** * 정확성 통과 * 효율성 통과하지 못함 */ public class Q30_42576 { public String solution(String[..

[Node.js]NVM - Nodejs 버전 관리

Nodejs의 버전이 업데이트 되어서 단순히 개발 환경을 Nodejs의 업데이트에 따라 버전을 올리는 경우가 아니고 특정 개발 환경에 의해서 두가지 이상의 Nodejs 버전을 사용해야 하는 경우에 매번 설치해 가면서 사용하는 것은 비효율적이다 위와 같은 상황에서 간편하게 Nodejs의 버전을 교체 할 수 있는 어플리케이션이 있다 https://github.com/nvm-sh/nvm GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions Node Version Manager - POSIX-compliant bash script to manage multipl..