Skip to content

Commit 330cecc

Browse files
committed
Solve : 034 035 036 037 038 039 040 041
1 parent 8adfe6c commit 330cecc

File tree

17 files changed

+329
-3
lines changed

17 files changed

+329
-3
lines changed
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# 문제 32: 문자열 만들기
1+
# 문제 33: 거꾸로 출력하기
22

3-
취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다.
3+
한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오.
44

5-
혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요.
5+
입력 : 1 2 3 4 5
6+
출력 : 5 4 3 2 1
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# 문제 34: sort 구현하기
2+
3+
민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그ㅜ런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확이한고 싶어한다.
4+
5+
민주를 위해 **키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램**을 작성해보자.
6+
(키는 공백으로 구분하여 입력됩니다.)
7+
8+
입력 : 176 156 155 165 166 169
9+
출력 : NO
10+
11+
입력 : 155 156 165 166 169 176
12+
출력 : YES

Challenge/HeelaeLim/034.Sort/solve.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
# 문제 34: sort 구현하기
3+
4+
민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그ㅜ런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확이한고 싶어한다.
5+
6+
민주를 위해 **키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램**을 작성해보자.
7+
(키는 공백으로 구분하여 입력됩니다.)
8+
9+
입력 : 176 156 155 165 166 169
10+
출력 : NO
11+
12+
입력 : 155 156 165 166 169 176
13+
출력 : YES
14+
*/
15+
16+
function sort(){
17+
let input = prompt('키를 순서대로 입력해주세요').split(' ');
18+
let error = false;
19+
for(let i =0; i<input.length-1; i++){
20+
if(input[i]>input[i+1]){
21+
error = !error
22+
console.log('NO')
23+
break;
24+
}
25+
}
26+
27+
if(!error){
28+
console.log('YES')
29+
}
30+
}
31+
32+
sort();
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# 문제 35: Factory 함수 사용하기
2+
3+
2제곱 3제곱 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다.
4+
5+
<pass>에 코드를 작성하여 two함수를 완성하세요.
6+
7+
```Javascript
8+
function one(n){
9+
function two(){
10+
//pass
11+
}
12+
return two;
13+
}
14+
15+
const a = one(2);
16+
const b = one(3);
17+
const c = one(4);
18+
19+
console.log(a(10))
20+
console.log(b(10))
21+
console.log(c(10))
22+
```
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
# 문제 35: Factory 함수 사용하기
3+
4+
2제곱 3제곱 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다.
5+
6+
<pass>에 코드를 작성하여 two함수를 완성하세요.
7+
8+
```Javascript
9+
function one(n){
10+
function two(){
11+
//pass
12+
}
13+
return two;
14+
}
15+
16+
const a = one(2);
17+
const b = one(3);
18+
const c = one(4);
19+
20+
console.log(a(10))
21+
console.log(b(10))
22+
console.log(c(10))
23+
```
24+
*/
25+
26+
function one(n){
27+
function two(m){
28+
return Math.pow(m,n);
29+
}
30+
return two;
31+
}
32+
33+
const a = one(2);
34+
const b = one(3);
35+
const c = one(4);
36+
37+
console.log(a(10))
38+
console.log(b(10))
39+
console.log(c(10))
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# 문제 36: 구구단 출력하기
2+
3+
1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요.
4+
5+
입력 : 2
6+
출력 : 2 4 6 8 10 12 14 16 18
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
# 문제 36: 구구단 출력하기
3+
4+
1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요.
5+
6+
입력 : 2
7+
출력 : 2 4 6 8 10 12 14 16 18
8+
*/
9+
10+
function multipletable(){
11+
let input = prompt('숫자를 입력하세요')
12+
let result = '';
13+
for(let i = 1; i< 10; i++){
14+
result += input*i + ' ';
15+
}
16+
console.log(result)
17+
}
18+
19+
multipletable()
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# 문제 37: 반장 선거
2+
3+
새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다.
4+
5+
입력 : 원범 원범 혜원 혜원 혜원 혜원 유진 유진
6+
출력 : 혜원(이)가 총 4표로 반장이 되었습니다.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
# 문제 37: 반장 선거
3+
4+
새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다.
5+
6+
입력 : 원범 원범 혜원 혜원 혜원 혜원 유진 유진
7+
출력 : 혜원(이)가 총 4표로 반장이 되었습니다.
8+
*/
9+
10+
function countVotes(){
11+
let input = prompt('후보들을 입력하세요').split(' ').sort();
12+
let result = [];
13+
for(let i = 0; i< input.length-1; i++){
14+
if(input[i] != input[i+1]){
15+
result.push(i+1);
16+
}
17+
}
18+
result.push(input.length);
19+
let count = [result[0]];
20+
for(let i =0; i<result.length-1; i++){
21+
count.push(result[i+1]-result[i]);
22+
}
23+
let maxValue = Math.max.apply(null, count);
24+
let position = count.indexOf(maxValue);
25+
let pre = 0;
26+
for(let i =0; i<position; i++){
27+
pre += count[i];
28+
}
29+
console.log(`${input[pre]}(이)가 총 ${maxValue}표로 반장이 되었습니다.`)
30+
}
31+
32+
countVotes()
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# 문제 38 : 호준이의 아르바이트
2+
3+
호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다.
4+
5+
1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. **학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.**
6+
7+
입력 : 98 68 75 66 55 97 85 97 97 95
8+
출력 : 6
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
# 문제 38 : 호준이의 아르바이트
3+
4+
호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다.
5+
6+
1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. **학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.**
7+
8+
입력 : 97 68 75 66 55 97 85 97 97 95
9+
출력 : 6
10+
*/
11+
12+
function countCandy(){
13+
let input = prompt('점수를 입력하세요').split(' ').sort().reverse();
14+
let count = 0;
15+
let result = 0;
16+
for(let i=0; i<input.length-1; i++){
17+
if(input[i]>input[i+1]){
18+
count++
19+
}
20+
if(count === 3){
21+
result = i+1;
22+
break;
23+
}
24+
}
25+
return result
26+
}
27+
28+
countCandy()
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# 문제 39 : 오타 수정하기
2+
3+
혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다.
4+
5+
그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. 혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다.
6+
7+
**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해주세요.**
8+
9+
입력 : querty
10+
출력 : euerty
11+
12+
입력 : hqllo my namq is hyqwon
13+
출력 : hello my name is hyewon
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
# 문제 39 : 오타 수정하기
3+
4+
혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다.
5+
6+
그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. 혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다.
7+
8+
**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해주세요.**
9+
10+
입력 : querty
11+
출력 : euerty
12+
13+
입력 : hqllo my namq is hyqwon
14+
출력 : hello my name is hyewon
15+
*/
16+
17+
function modificateError(){
18+
let input = prompt('문장을 입력하세요');
19+
return input.replaceAll('q', 'e');
20+
}
21+
22+
modificateError()
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# 문제 40 : 놀이동산에 가자
2+
3+
테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한 번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다.
4+
5+
**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.**
6+
7+
첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. 그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다.
8+
9+
입력: 50
10+
5
11+
20
12+
20
13+
20
14+
20
15+
20
16+
출력 : 2

Challenge/HeelaeLim/040.Ride/solve.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/*
2+
# 문제 40 : 놀이동산에 가자
3+
4+
테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한 번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다.
5+
6+
**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.**
7+
8+
첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. 그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다.
9+
10+
입력: 50
11+
5
12+
20
13+
20
14+
20
15+
20
16+
20
17+
출력 : 2
18+
*/
19+
20+
function countPeople(){
21+
let limit = prompt('제한 무게를 입력하세요');
22+
let number = prompt('친구들이 몇 명인지 입력하세요');
23+
let weight = [];
24+
for(let i =0; i<number; i++){
25+
weight.push(prompt('몸무게를 입력하세요'));
26+
}
27+
weight.sort();
28+
let sum = 0;
29+
let result = 0;
30+
for(let i=0; i<number; i++){
31+
sum += parseInt(weight[i])
32+
if(sum > limit){
33+
result = i;
34+
break;
35+
}
36+
}
37+
if(result === 0){
38+
return number;
39+
} else{
40+
return result;
41+
}
42+
}
43+
44+
countPeople()
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# 문제 41 : 소수판별
2+
3+
숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요.
4+
소수이면 YES로, 소수가 아니면 NO로 출력해주세요.
5+
(소수 : 1과 자기 자신만으로 나누어 떨어지는 1보다 큰 양의 정수)
6+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
# 문제 41 : 소수판별
3+
4+
숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요.
5+
소수이면 YES로, 소수가 아니면 NO로 출력해주세요.
6+
(소수 : 1과 자기 자신만으로 나누어 떨어지는 1보다 큰 양의 정수)
7+
*/
8+
9+
function primeNumber(){
10+
let number = prompt('숫자를 입력하세요');
11+
let result = 'YES';
12+
for(let i =2; i<number/2; i++){
13+
if(number%i === 0){
14+
result = 'NO'
15+
}
16+
}
17+
return result
18+
}
19+
20+
primeNumber()

0 commit comments

Comments
 (0)