본문 바로가기

알고리즘/프로그래머스(JAVA)8

[JAVA-120902] 문자열 계산하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 이 문제는 사실 입출력 예시만 잘 확인하면 너무나 쉽게 해결할 수 있는 문제이다. 문자열 my_string은 '피연산자1 연산자 피연산자2' 로 구성되어 있는데 이 문자열을 split(" ")를 이용하여 문자를 분리한 후, String 배열에 담아서 풀어나가면 된다. TO-DO 1. split 메소드를 이용해서 문자열을 피연산자1, 연산자, 피연산자2로 구분하기 2. for문을 이용해서 인덱스 번호가 1, 3, 5, ... 에 속하는 문자열이 +,- 인지.. 2023. 1. 30.
[JAVA-120896] 한 번만 등장한 문자 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 이 문제 역시 난이도가 0에 해당하는 문제인데 푸는데에 거의 1시간 좀 넘게 썼다. 난이도 0의 4페이지부터는 내가 풀기엔 조금은 난이도가 있는 문제 같다. 아무튼, 처음에는 ArrayList도 사용해보고 String 클래스의 replaceAll도 사용해보고 Set도 사용해봤는데 문제에서 원하는 형식으로 출력이 되지 않아서, 어쩌면 무식한(?) 방법으로 문제를 풀어보았다. TO-DO 1) 알파벳 a부터 z를 원소로 가지고 있는 char타입의 alphabe.. 2023. 1. 19.
[JAVA-120890] 가까운 수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 이 문제 역시 난이도가 레벨 0에 수렴하는데 푸는데에 거의 한 시간 가량 걸렸던 문제이다. 우선, 매개변수로 주어진 n과 가장 가까운 정수를 반환하는게 문제이므로 배열의 각 원소에서 n을 뺀 결과를 절대값으로 변환한 다음, 각 원소들끼리의 그 절대값을 비교하면 되겠다고 생각했다. TO-DO 1) 배열의 각 원소에서 n을 뺀 결과를 절대값으로 변환하고, 그 절대값을 담을 int 타입의 변수(tmp) 만들기 2) tmp와 min 값을 비교해서 min값보다 작.. 2023. 1. 19.
[JAVA-120846] 합성수 찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 나는 for문을 3개 사용해서 매개변수로 주어진 n 이하의 수들의 약수를 구한다음 약수의 갯수가 3개 이상이면 answer의 값이 증가하도록 코드를 짰다. TO-DO 1) n 이하의 수들의 약수를 구하기 위해 int 타입 변수 num의 값을 1로 초기화하고 약수 구하는 과정이 끝나면 num을 증가 시킨다. 2) 약수를 구한 다음에는 약수들을 list에 넣는다. 이 때, 약수의 갯수가 3개 이상이면 answer의 값을 증가 시킨다. 2. 풀이 import .. 2023. 1. 18.
[JAVA-120815] 피자 나눠 먹기(2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 난이도가 레벨 0인 문제인데, 코드를 어떻게 작성해야 할지 30분-1시간 정도 고민했던 문제이다. 내가 내린 결론은 한 판에 6조각이니까 6조각을 사람수(int n)으로 나눴을 때 나머지가 0이 아니면 계속 6조각을 추가하자였다. TO-DO 1. piece라는 int 타입의 변수에 초기값으로 6을 저장 2. piece를 사람수(n)로 나눴을 때 나머지가 0이 아니면 piece에 6조각(1판)을 추가 2. 풀이 class Solution { public i.. 2023. 1. 18.