본문 바로가기

Algorithm/프로그래머스풀이46

[알고리즘 문제풀이] 프로그래머스 - 파괴되지 않은 건물 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr /** 누적합 개념 적용 1. 해당 스킬이 들어올때, 범위 시작부에 더해놓고, 범위 끝+1 범위에 빼두기 2. 누적합 배열 돌면서, 해당 앞의 값을 더해가기( 누적된 증감 값을 담아두기) 3. 해당 누적값 적.. 2022. 1. 30.
[알고리즘 문제풀이] 프로그래머스 - 양과 늑대 /JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/92343 코딩테스트 연습 - 양과 늑대 [0,0,1,1,1,0,1,0,1,0,1,1] [[0,1],[1,2],[1,4],[0,8],[8,7],[9,10],[9,11],[4,3],[6,5],[4,6],[8,9]] 5 [0,1,0,1,1,0,1,0,0,1,0] [[0,1],[0,2],[1,3],[1,4],[2,5],[2,6],[3,7],[4,8],[6,9],[9,10]] 5 programmers.co.kr /** 1. 루트노드 출발, dfs로 구현 2. edges를 가보기 3. 방문한곳은 -1로 처리 4. 방문할때마다 최대 양의 수 저장 5. 중간에 늑대의수가 같아지면 탈출 6. 반복은 visited로 제거 **/ .. 2022. 1. 30.
[알고리즘 문제풀이] 프로그래머스 - 양궁대회 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr /** 1. n과 m으로 처리 2. info를 돌면서 이기는 방법 계산 3. 한번 넘어간곳은 중복체크 안하게 설정(pidx) 4. 이긴 라운드를 체크해놨다가, 점수 계산 5. 못이겼을 시엔 -1 반환 6. 같은 점수일땐 낮은 점수 더 많이 맞춘거 체크 **/ class Solution { public int max; public int[] victory , answe.. 2022. 1. 30.
[알고리즘 문제풀이] 프로그래머스 - 주차 요금 계산 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/92341 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr /** 1. 주차시간 구하기 1-1) 최대 23:59분(또는 출차시간) - 입차시간 = 주차시간 1-2) 인트형으로 파싱 1-3) 입차 시에 해시 저장. 출차 시에 해시 삭제하면서 계산.. 2022. 1. 30.
[알고리즘 문제풀이] 프로그래머스 - K진수에서 소수 개수 구하기 /JAVA https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr /** 1. n 숫자 k진수로 변환 1-1) n %k = 나머지를 놔두고, /10씩해서 구하기 2. 변환된 숫자를 조건에 따라 분할 2-1) String k진수를 0을 만날때마다 분할 3. 해당 조건의 숫자가 소수인지 확인 4. 맞으면 개수 추가 **/ import java.util.*; import java... 2022. 1. 30.
[알고리즘 문제풀이] 프로그래머스 - 신고 결과 받기 / JAVA https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr /** 1. 유저 리스트, 신고 리스트, k번 신고 유저 정지 1-1) 유저 최대 1000, 신고 리스트 최대 200,000 2. 신고 내역을 기준으로 몇번 신고했는지 체크 2-1) 인트배열로 각 이름별 신고 체크 2-2) 한명이 동일사람에게 여러번 체크해도 1회 체크해야하므로, 신고했었다면 다음번은 무시처리하게 2차원 배열로 신고여부 확인 2-3) 이름.. 2022. 1. 30.