TIL
[Java] 프로그래머스 Lv.2 > 기능개발
https://programmers.co.kr/learn/courses/30/lessons/42586?language=java 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 입력 progresses : 먼저 배포되어야하는 순서대로 작업의 진도가 적힌 정수 배열 speeds : 각 작업의 개발 속도 정수 배열 출력 각 배포마다 몇 개의 기능이 배포되는지 풀이 각 기능의 진도율과 개발속도를 저장하는 Function 클래스를 만든다. 진도율이 100% 이상이 되는 기능수(cnt)를 세서 배포 시켜준다. (..
[Java] 프로그래머스 Lv.2 > 다리를 지나는 트럭
https://programmers.co.kr/learn/courses/30/lessons/42583?language=java 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 풀이 스택/큐 문제였다. 트럭이 다리를 건너는 순서대로 빠져나와야하기 때문에 큐를 사용했다. 다리를 의미하는 queue를 만들어주고, 조건에 맞게 트럭을 큐에서 넣고 빼준다. 다리 위 트럭이 없는 경우(맨 처음)에는 트럭을 queue에 넣어준다. 다리 위에 트럭이 다 찬 경우(q.size()== bridge_l..
![[Java] 스택(Stack)과 큐(Queue) Java로 구현하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKoboM%2FbtruxkWnVqI%2FCiCAk8jKzNfjIkIN3uWle0%2Fimg.png)
[Java] 스택(Stack)과 큐(Queue) Java로 구현하기
이번 포스팅에서는 스택과 큐를 자바에서 구현하는 방법에 대해 설명하려고 한다. 스택(Stack)과 큐(Queue)의 대한 기본적인 개념은 이전 포스팅에 정리 했었다. 자바에서 Stack 사용하기 자바에서 스택은 Stack 클래스를 구현하여 제공하고 있다. Stack st = new Stack(); Stack의 메서드 메서드 설명 boolean empty() Stack이 비어있는지 확인 Object peek() Stack의 맨 위에 저장된 객체를 반환 pop()과 달리 Stack에서 객체를 꺼내지 않음 비었을 때는 EmptyStackException 반환 Object pop() Stack의 맨 위에 저장된 객체를 꺼냄 비었을 때는 EmptyStackException 반환 Object push(Object ..
[Java] 프로그래머스 : 숫자 문자열과 영단어
https://programmers.co.kr/learn/courses/30/lessons/81301?language=java 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 풀이 charAt() 함수는 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환한다. s의 길이만큼 for문을 돌려서 s.charAt(i)가 숫자면 그대로 반환하고, 영어면 저장해뒀다가 숫자 영단어와 동일한게 있다면 숫자로 바꿔준다. class Solution { public int solution(String s) {..
[Java] 프로그래머스 : 로또의 최고 순위와 최저 순위
https://programmers.co.kr/learn/courses/30/lessons/77484?language=java 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 풀이는 간단하다. 당첨 가능한 최고 순위는 0이 모두 당첨 번호라는 가정을 하고 순위를 구하고, 당첨 가능한 최저 순위는 0이 모두 당첨 번호가 아니라는 가정을 하고 순위를 구한다. lottos에서 당첨된 번호의 개수를 구해 cntNum에 저장하고, 0인 번호의 개수를 cnt0 변수에 ..
[Java] 프로그래머스 : 실패율
https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 풀이 변수 설명 N : 전체 스테이지의 개수 N stages : 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 answer : 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열 noclear : 해당 스테이지를 클리어하지 못한 사용자 수를 담는 배열 player : 스테이지에 도달한 플레이어 수/ 초기 사용자 수는 st..
[Java] 프로그래머스 : 정수 내림차순으로 배치하기
https://programmers.co.kr/learn/courses/30/lessons/12933?language=java 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr 풀이 처음엔 toCharArray로 char 배열로 만들었는데, sort에 Comparator T에 기본자료형이 들어가지 못한다고한다. 그래서 .split("")으로 String 타입으로 배열을 선언했다. Long->String : String.valueof(n) 내림차순 정렬 : Arra..
[Java] 프로그래머스 : 신고 결과 받기
https://programmers.co.kr/learn/courses/30/lessons/92334?language=java 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 풀이 answer : id_list에 담긴 순서대로 각 유저가 받은 결과 메일 수 idMap : 유저별 순서 저장 (key : 유저이름, value : 순서) map : 유별 자신을 신고한 유저 (key : 유저이름, value : key를 신고한 유저이름 set) 1. hashmap을 초기화 해준다. idMap = {muzi=0..