본문 바로가기

programmers

(12)
[Programmers] 롤케이크 자르기 -Javascript 번외편<왜 이게 안돼?> INDEX https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 철수와 동생이 서로 다른 토핑의 개수가 동일하게 롤케이크를 자를 수 있는 경우의 수를 구하는 문제입니다. 동생이 우선 롤케이크 전부다를 가진다고 가정한 다음 한 조각씩 철수에게 줄 때 철수가 가지고 있지 않던 토핑이면 철수의 토핑개수 +1, 동생이 한 조각을 줌으로써 동생이 가지고 있던 토핑의 개수가 동이 나면 동생의 토핑개수 -1 하면 됩니다. 이를 코드로 풀면 다음..
[Programmers] 두 원 사이의 정수 쌍 https://school.programmers.co.kr/learn/courses/30/lessons/181187# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 두 원 사이에 존재하는 정수 좌표를 가진 점의 개수를 구하는 문제입니다. 피타고라스의 정리를 이해하면 문제를 조금 더 쉽게 이해할 수 있습니다. 우선 한 원 안에 있는 정수 좌표 점의 개수를 구하는 방식은 다음과 같습니다. function getCircleDot(r){ let cnt = 0; for(let y=-r; y
[Programmers] 숫자 카드 나누기 -Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/135807# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 어느 한쪽의 모든 숫자 카드를 나눌 수 있는 a라는 숫자는 공약수 일 것입니다. 가장 큰 a를 뽑아야 하니 최대 공약수를 뽑아야 되는 문제입니다. 만약 [4, 6, 12] 가 있을 때 이 숫자들의 최대공약수를 구하는 방법은 단순하게 풀면 가장 작은 숫자 4부터 2까지 반복문을 통해 모든 숫자가 그 숫자로 나눠지는지 확인하면 됩니다. 하지만 조건을 살펴보면 배열의 원소..
[Programmers] 과제 진행하기 - Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/176962# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 우선 시간문제에선 저는 시간을 분 단위로 변환하고 시작합니다. 시간 개념으로 해석하려면 60분 다음엔 시간을 올려줘야 해서 번거롭기 때문에 아예 분 단위로 고려하는 것이 편합니다. "15:30" 이 주어진다 면 930이 반환됩니다. function timeToMinute(time) { return Number(time.split(":")[0] * 60) + Numbe..
[Programmers] 이모티콘 할인행사 - Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 카카오에서 내는 코딩테스트 문제는 문제가 길어 이해하는데도 오래 걸립니다. 이모티콘 할인율은 10%, 20%, 30%, 40% 중 하나입니다. 만약 이모티콘이 2개라면 나올 수 있는 할인율을 배열로 나타낸다면 [10%, 10%], [10%, 20%], [10%, 30%], [10%, 40%], [20%, 10%], [20%, 20%]... 이렇게 총 16가지가 됩니다...
[Programmers] 마법의 엘리베이터 - Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 엘리베이터는 10의 제곱승만큼 이동할 수 있습니다. 최소한의 마법의 돌을 사용하기 위해선 10의 제곱승 단위의 층에 빠르게 도달해야 합니다. 16층을 예시로 든다면 우선 처음에는 10(-6) 층으로 갈지 혹은 20(+4) 층으로 갈지 선택해야 하고 10층에선 1개, 20층에선 2개를 사용하기 때문에 더 적은 돌을 사용하는 16 -> 20(+4) -> 0(-20)가 답이..
[Programmers] 호텔 대실 - Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 시간은 24시간 내로 주어지고 분 단위로 주어집니다. 좀 무식한 접근 방식을 선택했습니다. 분을 하나의 배열 원소로 변환하고 대실 시간만큼의 범위를 카운팅합니다. 24시간은 분으로 변환하면 24 X 60 = 1440 입니다. const roomArr = new Array(60 * 24).fill(0); 처음 주어지는 시간이 15:00 ~ 17:00 라고 한다면 분으로 ..
[Programmers] 무인도 여행 - Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 그래프 문제는 보통 DFS 아니면 BFS 로 푸는 문제입니다. 이 문제 같은 경우에는 1부터 9까지의 자연수 블록이 연결된 영역을 계속 찾다가 "X" 혹은 벽을 만나면 탐색을 종료하는 알고리즘이기 때문에 DFS 를 사용할 수 있습니다. 주의해야 할 포인트는, 방문한 무인도(노드)는 꼭 다시 방문하지 말아야 한다는 점입니다. 왜냐하면 이미 탐색된 무인도는 연결된 영역이 ..

반응형