프로그래머스 입문문제 20개 풀기: JavaScript 사용
1. 두 수의 합
function solution(num1, num2) {
var answer = -1;
answer = num1 + num2;
return answer;
}
2. 두 수의 차
function solution(num1, num2) {
var answer = 0;
answer = num1 - num2;
return answer;
}
3. 두 수의 곱
function solution(num1, num2) {
var answer = 0;
answer = num1 * num2;
return answer;
}
4. 몫 구하기
function solution(num1, num2) {
var answer = 0;
answer = parseInt(num1 / num2);
return answer;
}
5. 두 수의 나눗셈
function solution(num1, num2) {
var answer = 0;
answer = parseInt((num1/num2) * 1000);
return answer;
}
6. 숫자 비교하기
function solution(num1, num2) {
var answer = 0;
answer = (num1 == num2)?1:-1;
return answer;
}
7. 분수의 덧셈
👉 입문도 못푸는 나는 죽어야겠다 gg
👉 수학 공부를 하자..... 최대 공약수 푸는 일반식(?)이 뭘까....
👉 세현님이 추천해주신 라매 개발자님의 유튜브를 보고 공부해보자....
📌 최대공약수 구하기
1. 분자분모 중 작은 수를 찾기
2. 그 작은 수로 분자분모 나눠보기
3. 둘 다 나누어 떨어지면 그 나눈 수가 최대공약수 (나누어 떨어진다 = %로 0나오기)
4. 안된다면 작은 수에서 -1씩 해가며 찾아보기!
function solution(numer1, denom1, numer2, denom2) {
var answer = [];
let top = numer1 * denom2 + numer2 *denom1;
let bottom = denom1 * denom2;
let minNumber = 0;
if (top>bottom){
minNumber = bottom;
} else {
minNumber = top;
};
while(true){
if(top % minNumber == 0 && bottom % minNumber == 0){
return [top/minNumber, bottom/minNumber];
};
minNumber--;
};
return answer;
}
8. 배열 두 배 만들기
function solution(numbers) {
var answer = [];
answer = numbers.map((i)=> i*2);
return answer;
}
9. 나이 출력
function solution(age) {
var answer = 0;
answer = 2022 - age + 1;
return answer;
}
10. 나머지 구하기
function solution(num1, num2) {
var answer = -1;
answer = num1 % num2;
return answer;
}
11. 각도기
function solution(angle) {
var answer = 0;
if (angle>0 && angle<90){
answer= 1;
}else if(angle == 90){
answer= 2;
}else if(angle >90 && angle <180){
answer= 3;
}else if(angle == 180){
answer= 4;
}
return answer;
}
12. 양꼬치
function solution(n, k) {
var answer = 0;
var service_drink = parseInt(n/10);
var have_to_pay_drink = k - service_drink;
answer = n * 12000 + have_to_pay_drink * 2000;
return answer;
}
13. 짝수의 합
function solution(n) {
var answer = 0;
for (let i=2 ; i <=n;i+=2 ){
answer += i;
}
return answer;
}
14. 피자 나눠 먹기 (3)
function solution(slice, n) {
return Math.ceil(n / slice);
}아래는 내가 처음 썼던 답.......계속 시간초과가 났다......수학을 못하니까 사서 고생을 해버려.
한문장이면 끝나는 답을 저렇게 길게 썼다 ㅋㅋㅋㅋ
function solution(slice, n) {
var answer = 0;
var i = 2;
var j = 0;
while(true) {
if (slice >= n){
answer = 1;
} else {
j = slice * i;
if (j >= n){
answer = i;
break;
}
i++;
}
}
return answer;
}
15. 문자열 안에 문자열
function solution(str1, str2) {
var answer = 0;
answer = str1.includes(str2)? 1 : 2;
return answer;
}
16. 배열 뒤집기
function solution(num_list) {
var answer = [];
answer = num_list.reverse();
return answer;
}
17. 최댓값 만들기(1)
function solution(numbers) {
var answer = 0;
var new_numbers = numbers.sort((a,b)=>b-a);
answer = new_numbers[0] * new_numbers[1];
return answer;
}
18. 편지
function solution(message) {
var answer = 0;
answer = message.length*2;
return answer;
}
19. 세균 증식
아래는 내가 처음 썼던 답...^^ 또 한줄이면 끝나는 코드를 혼자 반복문 쓰기
function solution(n, t) {
var answer = 0;
for (let i = 0 ; i < t; i++){
n *= 2
}
answer = n;
return answer;
}이 아래는 승우님의 답...현타온다.......ㅜㅜ
function solution(n, t) {
var answer = 0;
return n*2**t;
}
20. 특정 문자 제거하기
function solution(my_string, letter) {
var answer = '';
for (let i=0; i < my_string.length; i++){
if (my_string[i] !== letter){
answer += my_string[i];
}
}
return answer;
}아래는 또 내가 현타오게 한 풀이...^^ 아 그렇네 진짜 하 !!!! 이렇게 풀면 되는거지!!!
function solution(my_string, letter) {
const answer = my_string.split(letter).join('')
return answer;
}function solution(my_string, letter) {
return my_string.replaceAll(letter, "");
}
겨우 입문 문제인데도 알아가고 배워가는게 많은 시간이었다!
좋은 풀이를 공유해주신 백엔드 고인물 승우님과 자바스크립트 장인 민석님 감사합니다.
'Study Notes > Programmers' 카테고리의 다른 글
| [Programmers]-(JAVA) [PCCE 기출문제] 10번 / 공원: DP 알고리즘을 사용해보자 (0) | 2025.02.19 |
|---|---|
| [Programmers]-(JAVA) 기초 문제 30개 풀이 (0) | 2025.02.14 |
| [Programmers]-(JAVA) 기초 문제 40개 풀이 (0) | 2025.02.13 |