Skip to content

Commit edd6281

Browse files
authored
Merge pull request jsk3342#229 from rapidmon/main
Solve: 042, 043, 044, 045, 046, 047, 048, 049, 050
2 parents 73154eb + dc23d56 commit edd6281

File tree

18 files changed

+330
-0
lines changed

18 files changed

+330
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# 문제 42 : 2020
2+
3+
2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요?
4+
두 수 a,b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요.
5+
요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT입니다.
6+
7+
예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"을 반환하세요.
8+
9+
**제한 조건**
10+
2020년은 윤년입니다.
11+
2020년 a월 b일은 실제로 있는 날입니다.
12+
(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.)

Challenge/HeelaeLim/042.2020/solve.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
# 문제 42 : 2020
3+
4+
2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요?
5+
두 수 a,b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요.
6+
요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT입니다.
7+
8+
예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"을 반환하세요.
9+
10+
**제한 조건**
11+
2020년은 윤년입니다.
12+
2020년 a월 b일은 실제로 있는 날입니다.
13+
(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.)
14+
*/
15+
16+
function TwentyTwenty() {
17+
let number = prompt("숫자 a와 b를 입력하세요").split(" ");
18+
let date = new Date(`2020.${number[0]}.${number[1]}`);
19+
return date.toLocaleString("en-US", { weekday: "short" }).toUpperCase();
20+
}
21+
22+
TwentyTwenty();
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# 문제 43 : 10진수를 2진수로
2+
3+
우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다.
4+
이를 컴퓨터가 알아들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요?
5+
6+
예를 들어 13은 2^3 + 2^2 + 2^0 = 13 이기 때문에 1101로 표현합니다.
7+
8+
**사용자에게 숫자를 입력받고 이를 2진수로 바꾸고 그 값을 출력해주세요.**
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
# 문제 43 : 10진수를 2진수로
3+
4+
우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다.
5+
이를 컴퓨터가 알아들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요?
6+
7+
예를 들어 13은 2^3 + 2^2 + 2^0 = 13 이기 때문에 1101로 표현합니다.
8+
9+
**사용자에게 숫자를 입력받고 이를 2진수로 바꾸고 그 값을 출력해주세요.**
10+
*/
11+
12+
function Binary() {
13+
let number = prompt("숫자를 입력하세요");
14+
return parseInt(number).toString(2);
15+
}
16+
17+
Binary();

Challenge/HeelaeLim/044.Sum/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# 문제 44 : 각 자리수의 합
2+
3+
**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요.
4+
5+
**예를 들어**
6+
18234 = 1 + 8 + 2 + 3 + 4 이고 정답은 18입니다.
7+
3849 = 3 + 8 + 4 + 9 이고 정답은 24입니다.
8+
9+
입출력
10+
11+
입력: 18234
12+
출력: 18
13+
14+
입력: 3849
15+
출력: 24

Challenge/HeelaeLim/044.Sum/solve.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
# 문제 44 : 각 자리수의 합
3+
4+
**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요.
5+
6+
**예를 들어**
7+
18234 = 1 + 8 + 2 + 3 + 4 이고 정답은 18입니다.
8+
3849 = 3 + 8 + 4 + 9 이고 정답은 24입니다.
9+
10+
입출력
11+
12+
입력: 18234
13+
출력: 18
14+
15+
입력: 3849
16+
출력: 24
17+
*/
18+
19+
function Sum() {
20+
let number = prompt("양의 정수를 입력하세요").split("");
21+
return number.reduce((a, b) => parseInt(a) + parseInt(b));
22+
}
23+
24+
Sum();
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# 문제 45 : getTime()함수 사용하기
2+
3+
Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다.
4+
5+
이를 이용하여 **현재 연도(2022)를 출력해보세요**
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
# 문제 45 : getTime()함수 사용하기
3+
4+
Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다.
5+
6+
이를 이용하여 **현재 연도(2022)를 출력해보세요**
7+
*/
8+
9+
function Gettime() {
10+
let date = new Date().getTime();
11+
return new Date(date).getFullYear();
12+
}
13+
14+
Gettime();
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# 문제 46 : 각 자리수의 합 2
2+
3+
1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요.
4+
5+
예를 들어 10부터 15까지의 모든 숫자를 일렬로 놓으면 101112131415이고 각자리의 숫자를 더하면 21입니다.

Challenge/HeelaeLim/046.Sum2/solve.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
# 문제 46 : 각 자리수의 합 2
3+
4+
1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요.
5+
6+
예를 들어 10부터 15까지의 모든 숫자를 일렬로 놓으면 101112131415이고 각자리의 숫자를 더하면 21입니다.
7+
*/
8+
9+
function Sum2() {
10+
let hey = new Array(20);
11+
return hey
12+
.fill(1)
13+
.map((x, i) => x + i)
14+
.reduce((x, y) => x.toString() + y.toString())
15+
.split("")
16+
.reduce((x, y) => parseInt(x) + parseInt(y));
17+
}
18+
19+
Sum2();
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# 문제 46 : 각 자리수의 합 2
2+
3+
바울랩에서는 3월 29일 제주대학교에서 '제주 빅데이터 사회혁신 해커톤' 행사를 주최하게 되었습니다. 이에 구글 설문지를 배포하였으나 제주대학생들이 중복해서 n개씩 설문지를 제출하였습니다.
4+
**중복된 데이터들을 삭제하여 실제 접수 명단이 몇 명인지 알고 싶습니다.**
5+
6+
아래 주어진 데이터들로부터 중복을 제거하여 **실제 접수 인원**을 출력해 주세요.
7+
8+
```javaScript
9+
const people = {
10+
이호준: "01050442903",
11+
이호상: "01051442904",
12+
이준호: "01050342904",
13+
이호준: "01050442903",
14+
이준: "01050412904",
15+
이호: "01050443904",
16+
이호준: "01050442903"
17+
};
18+
```
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
# 문제 46 : 각 자리수의 합 2
3+
4+
바울랩에서는 3월 29일 제주대학교에서 '제주 빅데이터 사회혁신 해커톤' 행사를 주최하게 되었습니다. 이에 구글 설문지를 배포하였으나 제주대학생들이 중복해서 n개씩 설문지를 제출하였습니다.
5+
**중복된 데이터들을 삭제하여 실제 접수 명단이 몇 명인지 알고 싶습니다.**
6+
7+
아래 주어진 데이터들로부터 중복을 제거하여 **실제 접수 인원**을 출력해 주세요.
8+
9+
```javaScript
10+
const people = {
11+
이호준: "01050442903",
12+
이호상: "01051442904",
13+
이준호: "01050342904",
14+
이호준: "01050442903",
15+
이준: "01050412904",
16+
이호: "01050443904",
17+
이호준: "01050442903"
18+
};
19+
```
20+
*/
21+
22+
function SetApply() {
23+
const people = {
24+
이호준: "01050442903",
25+
이호상: "01051442904",
26+
이준호: "01050342904",
27+
이호준: "01050442903",
28+
이준: "01050412904",
29+
이호: "01050443904",
30+
이호준: "01050442903",
31+
};
32+
let setapply = new Set(Object.keys(people));
33+
return setapply.size;
34+
}
35+
36+
SetApply();
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# 문제48 : 대소문자 바꿔서 출력하기
2+
3+
문자열이 주어지면 대문자와 소문자를 바꿔서 출력하는 프로그램을 작성하세요.
4+
5+
입출력
6+
7+
입력 : AAABBBcccddd
8+
출력 : aaabbbCCCDDD
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
# 문제48 : 대소문자 바꿔서 출력하기
3+
4+
문자열이 주어지면 대문자와 소문자를 바꿔서 출력하는 프로그램을 작성하세요.
5+
6+
입출력
7+
8+
입력 : AAABBBcccddd
9+
출력 : aaabbbCCCDDD
10+
11+
*/
12+
13+
function Change() {
14+
let String = prompt("문자열을 입력해주세요.").split("");
15+
for (let i = 0; i < String.length; i++) {
16+
if (String[i] === String[i].toUpperCase()) {
17+
String[i] = String[i].toLowerCase();
18+
} else {
19+
String[i] = String[i].toUpperCase();
20+
}
21+
}
22+
return String.reduce((a, b) => a + b);
23+
}
24+
25+
Change();

Challenge/HeelaeLim/049.Max/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# 문제49 : 최댓값 구하기
2+
3+
순서가 없는 10개의 숫자가 공백으로 구분되어 주어진다. 주어진 숫자들 중 최댓값을 반환하라.
4+
5+
입출력
6+
7+
입력 : 10 9 8 7 6 5 4 3 2 1
8+
출력 : 10

Challenge/HeelaeLim/049.Max/solve.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
# 문제49 : 최댓값 구하기
3+
4+
순서가 없는 10개의 숫자가 공백으로 구분되어 주어진다. 주어진 숫자들 중 최댓값을 반환하라.
5+
6+
입출력
7+
8+
입력 : 10 9 8 7 6 5 4 3 2 1
9+
출력 : 10
10+
*/
11+
12+
function Max() {
13+
let Number = prompt("숫자를 입력해주세요").split(" ");
14+
return Math.max(...Number);
15+
}
16+
17+
Max();
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# 문제50 : 버블정렬 구현하기
2+
3+
버블정렬은 두 인접한 원소를 검사하여 정렬하는 방법을 말합니다. 시간 복잡도는 느리지만 코드가 단순하기 때문에 자주 사용됩니다.
4+
5+
아래 코드의 빈 칸을 채워 버블 정렬을 완성해 봅시다.
6+
7+
```js
8+
function bubble(arr) {
9+
let result = arr.slice();
10+
11+
for (let i = 0; i < result.length - 1; i++) {
12+
for (/*빈칸을 채워주세요.*/) {
13+
if (result[j] > result[j + 1]) {
14+
//빈칸을 채워주세요.
15+
}
16+
}
17+
}
18+
return result;
19+
}
20+
21+
const items = prompt('입력해주세요.').split(' ').map((n) => {
22+
return parseInt(n, 10);
23+
});
24+
25+
console.log(bubble(items));
26+
```
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*
2+
# 문제50 : 버블정렬 구현하기
3+
4+
버블정렬은 두 인접한 원소를 검사하여 정렬하는 방법을 말합니다. 시간 복잡도는 느리지만 코드가 단순하기 때문에 자주 사용됩니다.
5+
6+
아래 코드의 빈 칸을 채워 버블 정렬을 완성해 봅시다.
7+
8+
```js
9+
function bubble(arr) {
10+
let result = arr.slice();
11+
12+
for (let i = 0; i < result.length - 1; i++) {
13+
for (빈칸을 채워주세요.) {
14+
if (result[j] > result[j + 1]) {
15+
빈칸을 채워주세요.
16+
}
17+
}
18+
}
19+
return result;
20+
}
21+
22+
const items = prompt('입력해주세요.').split(' ').map((n) => {
23+
return parseInt(n, 10);
24+
});
25+
26+
console.log(bubble(items));
27+
```
28+
*/
29+
30+
function bubble(arr) {
31+
let result = arr.slice();
32+
33+
for (let i = 0; i < result.length - 1; i++) {
34+
for (let j = 0; j < result.length - i; j++) {
35+
if (result[j] > result[j + 1]) {
36+
let temp = result[j];
37+
result[j] = result[j + 1];
38+
result[j + 1] = temp;
39+
}
40+
}
41+
}
42+
return result;
43+
}
44+
45+
const items = prompt("입력해주세요.")
46+
.split(" ")
47+
.map((n) => {
48+
return parseInt(n, 10);
49+
});
50+
51+
console.log(bubble(items));

0 commit comments

Comments
 (0)