본문 바로가기

Algorithm94

[알고리즘 문제풀이] 프로그래머스 - 프렌즈4블록 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr /** 1. 0,0부터 맵의 범위를 전체 확인(30*30) 2. 2*2블록이 전부 같은 블록인지 확인하고, 다 같다면 지워질 블록으로 별도 체크 2-1) boolean 변수로 같은지 체크 3. 맵 전체 확인 후 체크해놨던 지워질 블록 지우기 4. 지워진 맵에서 아래부터 공간 채우기 5. 1번부터 4번까지 반복하여 변경되는게 없을 때 지워진.. 2022. 3. 6.
[알고리즘 문제풀이] 프로그래머스 - 순위 검색 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/72412 2022. 3. 5.
[알고리즘 문제풀이] 프로그래머스 - [1차] 캐시 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/17680 2022. 3. 4.
[알고리즘 문제풀이] 프로그래머스 - 카카오 프렌즈 컬러링북 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr /** 1. bfs로 영역의 개수와 가장 큰 영역의 칸 수 반환 **/ import java.util.*; class Solution { public int[] solution(int m, int n, int[][] picture) { int[] answer = new int[2]; answer = bfs(m,n,picture); return answer; } pu.. 2022. 3. 3.
[알고리즘 문제풀이] 프로그래머스 - 방문 길이 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr /** 1. 명령어에 따른 이동 2. 명령어가 좌표평면을 넘어가면 그 명령어는 무시 3. 전체 명령어에 의해 새로 가본 좌표의 개수를 반환 3-1) 현재좌표에서 이동방향 선을 가본것으로 체크 3-2) 올라간좌표에서 출발좌표까지 선도 써본것으로 체크 **/ class Solution { public int solution(String dirs) { int answer = 0; int[][][] map = new int[11][11][4]; int x = 5; int y = 5; for(char c : dirs.toCharArray()){ int.. 2022. 3. 3.
[알고리즘 문제풀이] 프로그래머스 - 메뉴 리뉴얼 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr /** 1. course를 돌며 몇개를 조합해야 하는지 정하기 2. course에 정해진대로 orders를 돌며 조합(중복x,오름차순, 기본 order 문자열 정렬) 3. 조합 된 것을 해시에 담으면서 value 증가 4. 가장 많이 주문한 셋트 메뉴 result에 담기 5. result 오름차순하여 배열 반환 코스 10 * orders 20 * 조합(10*9) .. 2022. 3. 2.
[알고리즘 문제풀이] 프로그래머스 - 빛의 경로 사이클 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/86052 코딩테스트 연습 - 빛의 경로 사이클 각 칸마다 S, L, 또는 R가 써져 있는 격자가 있습니다. 당신은 이 격자에서 빛을 쏘고자 합니다. 이 격자의 각 칸에는 다음과 같은 특이한 성질이 있습니다. 빛이 "S"가 써진 칸에 도달한 경우, 직진 programmers.co.kr /** 3차원 풀이 또는 2차원 + 비트마스크 1. 최대 500 * 500 배열 존재 2. 칸마다의 조건에 따라 4방향 돌면서 이동 3. 들린 칸은 체크할건데, 어떤 방향에서 들렸는지를 체크(bit mask 사용할 예정) 4. 다음 갈곳은 %연산으로 처리 5. 같은 방향에서 다시 들리면 해당 사이클을 순환사이클로 몇개 들려서 왔는지 .. 2022. 2. 28.
[알고리즘 문제풀이] 프로그래머스 - 2개 이하로 다른 비트 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/77885 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr /** 1. f(x) 는 x보다 큰 수 중 비트가 1~2개사이에서 다른 것 중 제일 작은 수 2. 현재 수의 비트 중에서 제일 작은 꺼져있는 비트 찾기 2-1) 전체 켜진 비트와 현재 비트를 xor연산 비트 만들고, 2-2) 만들어진 비트 중 가장 최소로 켜진 비트를 찾으면 그게 제일 작은 꺼져잇는 비트 3. 꺼져있는 비트를 키고, 이게 최소비트가 아니면 오른쪽꺼는 끈다. 3-1) 꺼져있는 비트를 키는건, 찾은 비트를 합집합하면 됨. 3-2) 바로 오른쪽꺼를 끄는건 2진수니까 /2로 하면 바로 한칸 옆 오른쪽임. ~를 통해 해당 .. 2022. 2. 27.