본문 바로가기

Algorithm

(5)
코딩테스트를 위한 Javascript 입출력 기본 입출력// Run by Node.jsconst readline = require('readline');function solution(data) { console.log(data);}(async () => { let rl = readline.createInterface({ input: process.stdin }); const data = []; for await (const line of rl) { data.push(line); rl.close(); } solution(data); process.exit();})(); 코드의 동작과정은 다음과 같다. 1. for await...of 루프 안에서 rl이 사용자 입력을 읽어와 line에 할당한다. 2. data 배열에 line을 push한 후 rl..
Programmers 120812 최빈값 구하기 Javascript Problemhttps://school.programmers.co.kr/learn/courses/30/lessons/120812 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 입력으로 주어진 배열에서 최빈값을 찾는 문제이다. 최빈값이 2개 이상일 시 -1을 리턴한다. 이 문제를 어떻게 해결할 까 생각해 보면 입력으로 주어진 배열은 자연수로 구성되어 있으므로 단순하게 카운트 배열을 하나 만들어 입력 배열에 존재하느 원소들을 카운트 해주고, 카운트 배열에서 가장 높은 카운트 값이 2개 이상이라면 -1을, 아니라면 그 값에 해당하는 수를 리턴하면 된다. 이것을 코..
Programmers 120811 중앙값 구하기 Javascript https://school.programmers.co.kr/learn/courses/30/lessons/120811 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 홀수 개수의 무작위 숫자 배열을 입력으로 받아 그 중 중앙값을 추출하는 문제이다. 문제해결 논리는 다음과 같다. 1. 배열을 정렬한다. 2. 중간 인덱스 값에 위치한 요소를 찾는다. 배열을 정렬할 때 sort함수를 이용할 수 있는데 이 때 주의해야 할 것이 있다. sort 함수는 문자열의 유니코드를 기본 정렬 순서로 가진다. 따라서 [11, 12, 0, 1, 2]와 같은 배열을 sort하면 [0..
Programmers 120808 분수의 덧셈 Javascript https://school.programmers.co.kr/learn/courses/30/lessons/120808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr numer1 / denom1 + numer2 / denom2의 결과를 기약분수로 나타내는 문제이다. 분수 덧셈의 과정을 생각해보면 1. 두 분모의 최소공배수를 구한다. 2. 최소공배수를 각 분모로 나눈 만큼 분자에 곱해준다. 3. 통분된 두 분수를 더해준다. 단계를 가진다. 우선 두 수의 최소공배수는 두 수의 곱에 최대공약수를 나눔으로써 구할 수 있다. 최대공약수는 유클리드 호제법을 재귀함수를 ..
1018번: 체스판 다시 칠하기 M x N 크기의 체스판의 각 칸은 B 또는 W로 채워져 있다. 이것을 8 x 8 크기로 B, W, B, W또는 W, B, W, B로 다시 칠하려고 할 때 고쳐야 하는 최소 칸의 개수를 구하는 문제 1. x, y 좌표 축 설정 n을 y축, m을 x축이라 하면 이차원 배열 board[n][m]은 다음과 같이 채울 수 있다. for (int y = 0; i > board[i][j]; } } 2. 특정 원소부터 시작해 8 x 8 크기에서 다시 칠해야 하는 칸의 개수를 구하는 함수 다음 이차원 배열의 성질을 이용해 체스판의 특정 칸에 접근할 수 있다. 첫 칸이 W인 경우와 B인 경우의 값을 구하기 위해 매개변수 c를 사용한다. ..