꾸준히 재밌게
728x90
728x90
article thumbnail
[Java] 프린터 - Lv2 프로그래머스 스택/큐

https://school.programmers.co.kr/learn/courses/30/lessons/42587# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 첫 접근은 큐를 활용하여 먼저 들어온 녀석이 다음 값보다 작을 경우 뺏다가 후순위로 보내어 풀면 되겠다. 라고 생각하여 접근했지만 뺀 값들을 어떻게 활용할 지 번뜩이는 아이디어가 없어서 일단 그냥 풀어봤다. class Solution { public int solution(int[] priorities, int location) { int answer = 0; int length = pri..

article thumbnail
[Java] 구명보트 - Lv2 프로그래머스 탐욕법

https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제에서 최대 2명밖에 탑승이 되지 않는다고 했기 때문에, 최적의 값을 구할 때 limit와 가장 가까운 값을 찾기 위해 가장 무거운 사람과 가장 가벼운 사람을 같이 태워 limit값보다 무게가 크다면 무거운 사람만 태우는 식으로 해서 조건을 줬다. class Solution { public int solution(int[] people, int limit) { int answer = 0; ..

article thumbnail
[Java] 호텔 대실 - Lv2 프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 첫 접근부터 단순하게 생각하여 분 단위를 index로 하는 배열을 선언해서 객실 이용중일 때와 닫혔을 때를 단순 때려박아서 구하려고 했다. 청소를 10분간 진행하기로 했으니 분단위의 00:00~23:59인 0~1440에 청소시간을 더한 1450을 length로 두었다. int[] fulltime = new int[24*60+10]; 퇴실 기간이 23:51이상인 값을 고려하지 않았다. 예약 ..

article thumbnail
[Java] 뒤에 있는 큰 수 찾기 - Lv2 프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Stack을 활용 ( 정리 링크 ) Stack 후입선출(LIFO - Last In First Out)의 구조이다 ex) 음료수 진열대 사용하기 import java.util.Stack; Stack stack = new Stack(); // 값 추가하기 stack.push(1); stack.push(2); stack.push(3); // 맨 위에 있는 데이터(top)를 가져옴 mag1c.ti..

article thumbnail
[Java] 문자열 나누기 - Lv1 프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 f - 첫 문자 나온 횟수 l - 뒤의 문자들이 나온 횟수 left - charAt돌릴 시작지점 right - 비교할 char public int solution(String s) { int answer = 1; int f=1; int l=0; int left = 0; int right = 1; while(right < s.length()) { if(f == l) { left = right..

article thumbnail
[Java] 가장 가까운 같은 글자 - Lv1 프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 단순 String 메서드 활용 class Solution { public int[] solution(String s) { int[] answer = new int[s.length()]; answer[0] = -1; for(int i=1; i

article thumbnail
[Java] 크기가 작은 부분문자열 - Lv1 프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 p의 길이, 즉 최대 18자리숫자이기 때문에 int가 아닌 Long타입으로 풀이. public int solution(String t, String p) { int answer = 0; Long pInt = Long.parseLong(p); for(int i=0; i= tss) { answer++; } } return answer; }

article thumbnail
[Java] 둘만의 암호 - Lv1 프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/155652# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 풀이 마지막 1레벨이라 빨리 풀고 2레벨 풀고 오랜만에 3레벨도 해야지~ 하다가 1시간이나 잡아먹었다... public String solution(String s, String skip, int index) { String answer = ""; char[] chArr = s.toCharArray(); for(int i=0; i

728x90
728x90