본문 바로가기

Programmers18

[Java] 프로그래머스 : 다리를 지나는 트럭[Queue] https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 혼자 머리를 굴리다 결국 블로그들 코드 참고... 문제 · 9번 줄 : 처음엔 priorityQueue queue = new priorityQueue();와 같이 작성하였으나 테스트1번이 10초동안 결과를 내지 못해 오답처리가 되어 LinkedList로 바꾸어 주었다. LinkedList - 자료들을 반드시 연속적으로 배열시키지 않고 임의의 공간에 저장한 후, 순서에 따라 서로 연결시킨 구조 노드.. 2022. 7. 14.
[Java] 프로그래머스 : 전화번호 목록[hash, startsWith] https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr startsWith : 첫번째 글자부터 문자 포함 여부를 True, False로 출력 endsWith : 마지막 글자부터 역순으로 문자 포함 여부 확인 str = "가나다라마바사" str.startsWith("가나다")// True str.startsWith("가나다마바")// False Temp = "안녕하세요! "// 끝에 공백 한칸 포함 Temp.endsWith("세요! ")// True T.. 2022. 7. 12.
[Java] 프로그래머스 : 기능개발 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 · ArrayList 사용 : ArrayList는 처음 선언해줄 때 길이 지정을 해주지 않아도 된다 · 배열 : 처음 선언때 길이 지정이 필요 · 3번 줄 : number는 answer 배열에 넣을 값들을 임시 보관해주는 ArrayList 변수 return해줄 값들이 2개가 될지 3개가 될지 알 수 없기때문에 ArrayList를 사용 · 11번 줄 : i번째의 값을 progress에 넣어준 .. 2022. 7. 11.
[Java] 프로그래머스 : 직사각형 별찍기[Scanner] https://school.programmers.co.kr/learn/courses/30/lessons/12969 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 Scanner sc = new Scanner(System.in) 을 사용하여 가로와 세로의 길이를 입력받아 교차하는 지점에 *를 찍어줌 import java.util.Scanner; class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); i.. 2022. 7. 11.
[Java] 프로그래머스 : 구명보트(Greedy Algorithm) https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 탐욕법을 통해 큰 수부터 제거하는 방식으로 코드 작성 문제 · 몸무게를 합쳤을때 limit내인 경우 answer++해준다. · 8번 줄 : 배열을 내림차순 정렬하기 위해서 int를 integer타입으로 변형(int타입으론 내림차순 정렬이 안됨) · 9번 줄 : 내림차순 정렬 · 첫번째 if문(13번 줄) ① i번째와 j번째를 더했을때 .. 2022. 6. 28.
[Java] 프로그래머스 : 크레인 인형뽑기 게임(Stack 사용) https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr Stack 바구니를 Stack으로 사용하여 늦게 들어간 인형끼리 비교하여 같을 시 Count++하고 제거할 수 있도록 설정 문제 * 좌측 상단부터 (0,0)으로 아래, 오른쪽으로 갈수록 숫자가 커진다. * for문에서 board의 길이와 moves의 길이 순서는 상관없음 * board[j][moves[i] -1] - [행][열] : 행은 board.length, 열은 moves의 값(몇번.. 2022. 6. 27.
[Java] 프로그래머스 : 위장(Hash) https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr Hash HashMap map = new HashMap(); map.put(1, "바나나"); map.put(2, "사과"); map.put(3, "딸기"); // 전체 데이터 System.out.println(map.toString()); // key값 Set keyset = map.keySet(); System.out.println(keyset.toString()); // value값 Collection value = map.values(); System.out.println(value.toString()); // entrySet 사용해 key.. 2022. 6. 24.
[Java] 프로그래머스 : 완주하지 못한 선수(Hash) https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr HashMap · 데이터 관리/유지 자료구조 · Map 인터페이스를 구현한 대표적인 Map 컬렉션 · ArrayList는 내부 인덱스를 이용하여 한번에 검색이 되기에 빠른 속도를 보장하나 데이터 추가/삭제시 데이터가 밀려 많은 시간이 소요되므로 이를 극복하기 위해 제시된 방법이 Hash · Hash는 내부적으로 배열을 사용하여 데이터를 저장하.. 2022. 6. 24.
[Java] 프로그래머스 : 큰 수 만들기(StringBuilder 사용) https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr StringBuilder : 문자열을 더해주는 클래스 · "문자열" + "문자열"도 가능하지만 메모리 할당, 해제를 발생시키며 성능적으로 좋지 않음 · String과 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하기 때문에 속도도 빠르며 상대적으로 부하가 적다 StringBuilder sb = new StringBuilder(); //StringBuilder에선 append속성을 통해 문자열을 더해준다. sb.append("안녕").append("하세요"); ArrayList list = new .. 2022. 6. 21.