문제https://www.acmicpc.net/problem/2630 문제풀이분할정복 하는 문제이다. 재귀로 접근하여 쉽게 풀 수 있었다.정사각형의 모든 색종이의 색이 같아야 하므로 큰 사각형부터 검사를 하고 검사하는 와중에 색종이 색이 다르면 4분할하여 다시 각 분할된 영역에서의 색종이 색이 같은지 확인하고 같으면 더 이상 분할하지 않고 해당 영역은 탐색을 끝낸다. 위 과정을 코드로 풀면 아래와 같다. let fs = require("fs");let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");let N = Number(input.shift());// 정사각 판을 2차원 배열 map으로 구현let map = [];for (le..
javascript
문제https://www.acmicpc.net/problem/30804 풀이처음 풀이는 시간초과가 나서 연산횟수를 줄이는 방법으로 접근하였다. 내가 푼 방식은 이러하다만약 과일이 1 2 2 3 3 4 5 6 7 8 9 이렇게 주어지면 [ 1 ] 을 담고 kind를 확인 한다. ( kind:1, count: 1 )[ 1, 2 ] 를 담고 kind, count를 확인한다. (kind:2 count:2)[ 1 , 2 , 2 ] 를 담고 kind와 count를 확인한다. (kind:2, count: 3 ) 그다음 과일을 담으면[ 1, 2 , 2, 3 ] 이 되고 kind는 3이 된다 이때 kind가 2가 될때까지 left를 올린다. 여기서는 [ 2, 2, 3] 이 될 것이다. 이후에 kind와 coun..
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥후기한참 고민하다 풀지를 못해 다른 사람들의 풀이를 참고한 뒤 문제를 풀었다. 다른사람들의 풀이법을 참고하다 플로이드 와샬 이라는 알고리즘을 알게 되었고 내가 푼 문제의 방식은 플로이드 와샬 알고리즘을 활용한 풀이라는 점을 언급한다. 자세한 풀이법은 하단 주석을 참고하자function solution(n, results) { let answer = 0; // n은 1부터 이..
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이1. 일단 주어진 수식(expression)을 연산자와 피연산자를 구분하여 배열로 나눴다-> [500, '-', 300 , '+', 200] 2. 이런식으로 나눈 다음 최대로 나올수있는 연산순위 6가지를 모두 구함-> 하단 op_order_arr 참고 3. 연산자 순위로 나올수 있는 6가지를 모두 돌려가며 최댓값을 계속 갱신-> op_order_arr.forEach((op_arr)..
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이일단 카운팅 하는 숫자는 number라는 변수로 잡고 while문을 한바퀴 돌면 1씩 증가하도록 설정하였다. 그리고 다음 사람으로 넘어갈 때 마다 turn을 1씩 증가하도록 설정하였다. 여기서 말하는 턴은 차례를 의미하며 한사람이 어떤 수를 한번 부르고 다음사람으로 넘어갈때 turn은 1씩 증가한다. 일단 n진법으로 모든 수를 변환해야되므로 toString(n) 이라는 메서드를 이용..
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이핵심은 재귀적으로 모든 순열을 구하는 프로세스 와 소수를 빠르게 찾는 프로세스이다.처음에 재귀적으로 접근하면 시간에서 걸릴 것 같았는데 걸리지 않았고 오랜만에 재귀적 방법을 이용했어서 처음에는 풀이가 바로 생각나지 않았다.function solution(numbers) { let primeNumbers =[] // dfs (깊이 우선 탐색 정의 ) const dfs..