알고리즘 28

[알고리즘] 프로그래머스 LV.0 - 조건에 맞게 수열변환2

출처:https://school.programmers.co.kr/learn/courses/30/lessons/181881 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이function solution(arr) { let idx = 0 let prevArr = arr //무한루프를 시작함(true일때에 계속 반복하므로) while(true) { // 현재 배열을 조건에 맞게 변환 const changeCurArr = prevArr.map(a => { if(a >= 50 && a%..

알고리즘 2024.05.26

[BOJ]2720번 - 세탁소 사장 동혁(JS)

출처: https://www.acmicpc.net/problem/2720 문제미국으로 유학간 동혁이는 세탁소를 운영하고 있다. 동혁이는 최근에 아르바이트로 고등학생 리암을 채용했다.동혁이는 리암에게 실망했다.리암은 거스름돈을 주는 것을 자꾸 실수한다.심지어 $0.5달러를 줘야하는 경우에 거스름돈으로 $5달러를 주는것이다!어쩔수 없이 뛰어난 코딩 실력을 발휘해 리암을 도와주는 프로그램을 작성하려고 하지만, 디아블로를 하느라 코딩할 시간이 없어서 이 문제를 읽고 있는 여러분이 대신 해주어야 한다.거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01)의 개수를 구하는 프로그..

알고리즘 2024.05.22

[BOJ] 25206번 - 너의 평점은(JS)

출처 - https://www.acmicpc.net/problem/25206 문제인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다!치훈이의 전공평점을 계산해주는 프로그램을 작성해보자.전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다.인하대학교 컴퓨터공학과의 등급에 따른 과목평점은 다음 표와 같다.P/F 과목의 경우 등급이 P또는 F로 표시되는데, 등급이 P인 과목은 계산에서 제외해야 한다.과연 치훈이는 무사히 졸업할 수 있을까? 예제:ObjectOrientedProgramming1 3.0 A+IntroductiontoComputerEngineerin..

알고리즘 2024.05.19

[BOJ]2941번 - 크로아티아 알파벳

출처 - https://www.acmicpc.net/problem/2941 문제예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. const fs = require("fs");const input = ( process.platform === "linux" ? fs.readFileSync("/dev..

알고리즘 2024.05.17

[BOJ] 10813번 - 공 바꾸기(JS)

출처 : 백준 10813번 공 바꾸기 - https://www.acmicpc.net/problem/10813 문제 설명도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다.도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다.공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오. 입력첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다.둘째 줄부터 M개의 줄에 걸쳐서 공을 교환할 방법이 주어진다..

알고리즘 2024.05.09

[BOJ]2525번 - 오븐 시계(JS)

출처 : 백준 2525번 오븐시계 -https://www.acmicpc.net/problem/2525  문제 설명KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다.또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다.훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오. 입력첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A..

알고리즘 2024.05.05

[알고리즘] 백준허브에서 JS 사용하기

백준허브의 언어에는 JS의 항목이 따로 존재하지않는다. Node.js 만 존재할뿐 ...나는 아직... JS밖에 하지 못하는 응애인데 ... 나같은 사람이 또 있을것같아 찾아보았다. ⚒️방법 ReadLine 이용을 통해 백준허브에서도 JS를 사용 할 수있다.백준의 1000번 문제를 예를 들어 설명해 보겠다.const readline = require('readline').createInterface({ input: process.stdin, output: process.stdout,});let input = [];readline.on('line', function(line) { input = line.split(' ').map(el => parseInt(el));}).on('close',..

알고리즘 2024.05.02

[알고리즘] 프로그래머스 Lv.1 - 과일 장수(JS)

문제 출처-https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제풀이 function solution(k, m, score) { var answer = 0; var appleBox = []; // 내림차순 정렬 score.sort((a,b) => b-a); // box를 빈배열로 선언 // box에 사과를 넣음 , 사과를 넣으면서 만약 사과의 갯수가 한상자에 들어갈수있는 최대의 수라면 box를 appleBox에 추가 // 다시 box..

알고리즘 2024.04.16

[알고리즘] 프로그래머스 Lv.2 - 가장 큰 수(JS)

출처-https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 풀이 function solution(numbers) { //numbers를 문자열로 변환시킴 var answer = numbers.map((v) => v+"") //문자열 b+a를 조합한값을 숫자로 변환 , a+b를 조합한값을 숫자로 변환 //그 중 더 큰값을 기준으로 정렬 후 다시 문자열로 변환 .sort((a,b) => (b+a) * 1 - (a+b) * 1).join("")..

알고리즘 2024.04.04

[알고리즘]프로그래머스Lv.1 - 완주하지 못한 선수 (JS)

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 풀이 // function solution(participant, completion) { // //둘다 정렬을 해줌 // participant.sort(); // completion.sort(); // //반복문을 이용해서 만약 배열의 i번째가 같지않다면 그사람은 완주하지 못한 인원이므로 바로 i번째 참가자 리턴 // for(var i=0;i= 1) { answer = per..

알고리즘 2024.04.03