프로그래머스 13

[알고리즘] 프로그래머스 푸드 파이트 대회

프로그래머스 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Try / Solution function solution(food) { let answer = ""; for (let i = 1; i 0을 중심으로 양쪽에 같은 음식의 갯수가 놓여야 하니 2로 나누고 버림 만들어진 문자..

Programming 2023.10.23

[알고리즘] 프로그래머스 예상 대진표

프로그래머스 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Try / Solution function solution(n,a,b) { let round = 0; while (a !== b) { a = Math.ceil(a/2); b = Math.ceil(b/2); answer++; } return round; } a와 b는 2로 나누었을 때 올림한 만큼의 번호가 부여된다 -> 1과 2 중에 승리자는 다음 라운드에 1번이 되고 3,4는 2번이 된다 a와 b를 2로 나누었을 때 올림한 값이 같을 때의 라운드 값을 출력한다

Programming 2023.10.18

[알고리즘] 프로그래머스 구명보트

프로그래머스 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Try / Solution function solution(people, limit) { people.sort((a,b) => b-a); let answer = 0; let left = 0; let right = people.length -1; while(left limit){ left++; } else { left++; right--; } answer++; } if(left ==..

Programming 2023.10.17

[알고리즘] 프로그래머스 점프와 순간 이동

프로그래머스 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Try / Solution function solution(n) { let battery = 0; while(n > 0) { if(n % 2 === 0) { n = n / 2; } else { n--; battery++; } } return battery; } 2배 이동하는 순간이동은 배터리가 줄지 않으므로 2로 나눌 수 있다면 나눈다 2로 나눌 수 없다면 1만큼의 배터리를 소모하여 n에서 1을 빼준 후 다시 나눈다

Programming 2023.10.16

[알고리즘] 프로그래머스 카펫

프로그래머스 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Try / Solution function solution(brown, yellow) { let area= brown + yellow; for (let y = 3; y 세로는 가로보다 같거나 작으니 가로까지 반복 가로 = 넓이 / 세로 (x-2) * (y-2) === yellow 라면 그 x,y 값 출력

Programming 2023.10.13

[알고리즘] 프로그래머스 다음 큰 숫자

프로그래머스 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Try / Solution function countOne(n) { let count = 0 let binaryArr = n.toString(2).split(''); for(let i = 0; i < binaryArr.length; i++) { if (binaryArr[i] == 1) { count++; } } return count; } function solution(n) { let result = n; while(true) { result++; if(countOne(result) =..

Programming 2023.10.12

[알고리즘] 프로그래머스 크기가 작은 부분 문자열

[프로그래머스에서 문제 보기] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr My Solution / Try t.length에서 p.length의 길이를 뺀 것과 같을 때까지 반복 str.substr() 활용하여 문자열 추출 인덱스부터 p.length만큼 추출 function solution(t, p) { let result = 0; for (let i = 0; i

Programming 2023.07.02

[알고리즘] 프로그래머스 삼총사

프로그래머스 문제 링크 My Solution / Try 삼중 반복문을 돌며 더해서 0이 되는 값을 찾는다. 해당 인덱스 요소를 중복해서 더할 순 없으니(찾을 필요 X) 시작 인덱스는 1씩 증가하고, 마지막 인덱스는 1씩 감소해서 비교한다 function solution(number) { let result = 0 for(let i=0; i < number.length-2; i++) { for(let j=i+1; j < number.length-1; j++) { for(let k=j+1; k < number.length; k++) { if(number[i] + number[j] + number[k] === 0) { result++ } } } } return result } Advanced Solution ..

Programming 2023.06.30

[알고리즘] 프로그래머스 콜라 문제

프로그래머스 문제 링크 My Solution / Try while 반복문, n이 a보다 작은 순간 종료 n은 a만큼 줄고 b만큼 더해짐을 반복 받을 수 있는 콜라 sum은 b만큼 더해짐을 반복 function solution(a, b, n) { let sum = 0 while (n >= a) { n = n - a + b sum = sum + b } return sum; } Advanced Solution 재귀를 이용한 풀이 n이 a보다 작다면 0 출력 => 재귀 탈출문 콜라병의 합계는 n을 a로나눈 몫에 b를 곱함 solution 함수는 다시 a와 b 그리고 n을 a로 나눈 나머지와 합계를 더한 것으로 재귀(n이 a보다 작아질 때까지) function solution(a, b, n) { if (n <..

Programming 2023.06.29

[알고리즘] 프로그래머스 체육복

프로그래머스 문제 링크 My Solution / Try 학생수 길이의 배열을 만들고 전부 1로 채움 (Array,fill 활용) 잃어버린 학생의 배열의 요소는 0으로 재할당 여벌을 가지고 있는 학생의 배열의 요소는 +1 반복문을 돌며 잃어버린 학생(i)의 앞번호 학생(i-1)이 여벌을 가지고 있다면 해당 학생에게 빌려주고(arr[i] = 1) 앞번호 학생의 체육복 개수는 다시 1개로(arr[i-1] = 1) 앞번호 학생이 여벌을 가지고 있다면 arr[i] = 1 / arr[i+1] = 1 function solution(n, lost, reserve) { let arr = Array(n).fill(1); lost.map((e) => arr[e-1] = 0); reserve.map(e => arr[e-1]..

Programming 2023.06.26