문제https://level.goorm.io/exam/194982/%EC%9E%A5%EB%A7%88/quiz/1 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io 풀이배열을 이용한 풀이를 진행했으며, 문제의 조건을 잘 파악하고 풀이를 진행해야 한다.장마 기간에 3의 배수가 되는 일자에 비가 왔던 지역에 단 하나씩 물을 빼줘야 한다. 코드// Run by Node.jsconst readline = require('readline');(async () => { let rl = readline.createInterface({ input: process.stdin }); const input = []; for await (const line of rl..
코테연습
문제https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이처음에는 DFS로 풀어볼까 라고 생각했지만 시간초과 에러가 예상되어 정렬 알고리즘을 생각해봤다. sort 메서드를 사용할 때 a b 두 변수는 문자열이며 두 문자열을 앞뒤로 서로 더했을 때, 크기를 기준으로 정렬했다. 마지막에 값을 반환할 때는 0으로 시작하는 모든 문자들을 0으로 대체했는데, 이는 numbers로 입력된 배열의 요소들이 모두 수학적으로 0일때의 예상 결과는 0이 되기 때문에..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 풀이 방법이번에 다시 풀어본 문제는 시간 복잡도 최적화가 중요한 문제이다. const solution = (numbers) => { let answer = new Array(numbers.length).fill(-1); for(let i = 0; i numbers[i]){ answer[i] = numbers[j]; ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 해당 문제는 정렬을 이용해 풀이를 진행했다. 중요 코드를 살펴보면각 곡괭이의 광물당 피로도를 저장하는 obj, 갖고있는 곡괭이로 캘 수 있는 광물만큼 보관하는 newMinerals, 광물이 담겨있는 배열에 특정 광물의 갯수를 반환해주는 check 함수이다. 이 문제에서는 sort 메서드와 reduce 메서드를 중요하게 사용했다. sort 메서드의 경우는 광물이 담긴 배..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/62048# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제에서 사용하지 못하는 사각형의 갯수를 구하는 것이 중점인 문제였다. 이 로직은 초등학교 경시대회에서도 나온 로직이다....(초등학생들 대단해....) 로직은 최대 공약수를 구하는 것이 핵심이였다. (전체 단위 블럭 갯수) - (가로 + 세로 - (가로 세로의 최대공약수)) 가 대각선이 지나는 단위 블럭의 갯수이다. 예외 처리는 2개로 처리했으며 각각 가로 세로가..
문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 단순히 for문을 중첩해서 사용하면 효율성이 떨어지기 때문에 문제 풀이 방법을 생각했다. 그래서 이 문제는 원의 방정식을 이용해 풀었다. x^2 + y^2 = d^2 인 공식을 이용해 x에 대한 y값이 될 수 있는 범위를 구했고, 이를 이용해 문제를 풀었다. 코드 const solution = (k, d) => { let answer = 0; for(let i=0; i