알고리즘/프로그래머스

    프로그래머스 게임 맵 최단거리 (Java)

    프로그래머스 게임 맵 최단거리 (Java)

    출처: https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 접근 방법 전형적인 bfs 문제라고 생각한다. 생각 급한 마음에 문제를 대충 읽고 가로 세로가 5로 고정되어 있고, 또 0인 곳을 이동한다고 착각했다. 차근차근 문제를 읽어야겠다. 코드 import java.util.*; class Solution { static private class Positio..

    프로그래머스 정수 삼각형

    프로그래머스 정수 삼각형

    출처: https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 제출 날짜: 2021년 9월 22일 수요일 접근 방법 두 번째 줄부터 마지막 줄까지 이전 줄의 왼쪽 또는 오른쪽의 최댓값을 반복해서 더한다. 이때 맨 왼쪽과 맨 오른쪽은 각각 이전 줄의 왼쪽과 오른쪽 하나씩 그대로 가져와 더한다. 마지막 줄에서 최댓값을 답으로 출력한다. 생각 최댓값을 for문을 사용해서 구했는데, 다른 정답 풀이를 보니 한 줄에 끝내는 것이 있어 따라해봤다. 코드 import java.util.Arrays; cl..

    프로그래머스 뉴스 클러스터링

    프로그래머스 뉴스 클러스터링

    출처: https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 제출 날짜: 2021년 9월 21일 화요일 접근 방법 문자열을 소문자로 바꾼 뒤, 알파벳 소문자로 이루어진 경우만 2개씩 쪼개 ArrayList에 넣는다. 이후 ArrayList에서 요소를 제거할 것이기 때문에 우선 두 ArrayList의 size를 더해 합집합이라고 우선 저장한다. 총 2개의 ArrayList를 비교하면서 겹치면 c..

    프로그래머스 메뉴 리뉴얼

    프로그래머스 메뉴 리뉴얼

    출처: https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 생각 문제를 제대로 읽지 않고 테스트케이스만 보고 그리디라고 착각했다. 다른 풀이 하나를 보고 아니란 걸 알게 되었다. 문제를 복잡하게 푼 것 같다. 코드 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; impo..

    프로그래머스 순위 검색

    프로그래머스 순위 검색

    출처: 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/72412 { // 정렬할 때 시간 초과 해결 Collections.sort(score); }); answer = new int[query.length]; // query 개수만큼 답 for (int i = 0; i < query.length; i++) { String[] splitedQuery = splitAndGetScore(query[i]); // query의 (언어, 직군, 경력, 소울푸드, 점수) String strQuery = ""; for (int j = 0; j < splitedQuery.length - 1; j++) { // 검색 조건 (언어+직군+경력+소울푸드) strQuery..

    프로그래머스 구명보트

    프로그래머스 구명보트

    출처: 프로그래머스 코딩 테스트 연습 https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 제출 날짜: 2021년 9월 7일 화요일 생각 정렬하는 것까지는 혼자 생각했지만 그 이후는 방향을 잘못 잡고 풀고 있었다. 힌트(https://programmers.co.kr/questions/15422)를 통해 어떻게 풀어야하는지 감을 잡을 수 있었다. 코드 import java.util.*; c..

    프로그래머스 거리두기 확인하기

    프로그래머스 거리두기 확인하기

    출처: 프로그래머스 코딩 테스트 연습 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 제출 날짜: 2021년 8월 31일 화요일 풀이 0...

    프로그래머스 위장

    출처: 프로그래머스 코딩 테스트 연습 https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 생각 백준저지의 패션왕 신해빈(https://www.acmicpc.net/problem/9375)과 동일한 문제다. 코드 import java.util.HashMap; class Solution { public int solution(String[][] clothes) { int answer = 1; HashMap cloth = new HashMap(); for(int i=0; i