JavaScript - 함수, if문, for문, arr 문제 풀이

dev_swan·2022년 1월 4일
0

HTML-CSS-JS

목록 보기
10/19
post-thumbnail

1. 1~10까지 출력을 하시오.

답:
for(let i = 0; i < 11; i++){
console.log(i)
}

해석 : i가 0이고 i가 11보다 작은 수 이면 +1을 계속 반복한다.

2. 1~20까지 출력하는데 숫자가 5배수일때.hello world로 바꿔서 출력하시오.

답:
for(i = 1; i < 21; i++){
if(i % 5 == 0){ console.log("hello world")
}
else { console.log(i)
}
}

해석 : i를 1부터 20까지 출력하고 if문을 사용해 i를 5로 나누어 나머지 값이 0일 경우 "hello world"를 출력하게 하고 나머지 값이 0이 아닐시에는 숫자를 출력하게 한다.

3. console.log()를 사용하여 아래 모양을 출력하시오.

|\_/|
|q p|   /}
( 0 )"""\
 "|"^"`  |
||_/=\\__|

답:
console.log('|\\_/|' + '\n' + '|q p| /}' + '\n' + '( 0 )"""\\' + '\n' + '|"^"` |' + '\n' + '||_/=\\\\__|')

해석 : console.log의 ()안에 그림 한줄씩 입력한후 \n으로 다음칸으로 넘어가고 다시 그림 한줄 입력하고 \n입력을 반복해주면 된다. 이 그림은 문자로 취급하기 위해 줄마다 ""/''/``을 사용하여야 한다.

4.
짱구는 마스크 공장에 다녀요
마스크를 담을수있는 팩이 존재하고 각각 3개입 5개입을 담을 수 있습니다.
짱구는 귀찮기 때문에 최대한 적은 팩을 담을려고 합니다.
예를들어 18개 마스크를 보내야한다면
3개입짜리 팩을 6개 준비해도 되지만
5개입 3개 3개입 개로 보내면 더 적은 팩으로 보낼 수 있습니다.
짱구가 마스크를 정확하게 N개 마스크를 보내려면
몇개의 팩을 보내면 되는지 수를 구하는 프로그램을 작성해주세요.
단 정확하게 마스크팩을 만들수 없다면 -1를 return 하세요.
ex)
18 -> 4
4 -> -1
6 -> 2

 function solution(n){
			let result = 0
			if( n % 5 == 0) {
				result = n/5;
			} else {
				while(1){
					n = n - 3
					result = result + 1
					if (n % 5 == 0){
						result = result + (n/5)
						break
					} else if (n <= 2){
						return -1
					}
				}
			}
			return result;
}
console.log(solution(18))

해석 : result 값을 0으로 지정하고 if문을 사용해 주어진 n 값을 5로 나누었을때 나머지 값이 0이 된다면 result 값은 n/5로 return하고 나머지 값이 0이 아닐시 false의 else문으로 가서 while을 사용해 계속 -3을 빼고 뺀 횟수만큼 result 값을 더한다. 그러다 n값을 5로 나누었을때 나머지 값이 0이 나오면 반복문에서 탈출하고 위에서 -3을 하여 더한 result과 n/5를 한 값을 더하여 return한다. 계속 -3을하여 n이 만약 2보다 작아질 경우에는 -1을 리턴한다

5.
let arr (배열)을 사용하여 아래 모양 출력하시오.

|\_/|
|q p|   /}
( 0 )"""\
|"^"`    |
||_/=\\__|

답:
let arr = ['|\\_/|' + '\n' + '|q p| /}' + '\n' + '( 0 )"""\\' + '\n' + '|"^"` |' + '\n' + '||_/=\\\\__|']
for(i = 0; i < arr.lenght; i++){
console.log(arr.String())
}

해석 : let arr = [ ] 배열을 만들고 [ ]안에 그림을 전과 같은 방법으로 넣어준후 for문을 사용하여 i = 0 이고 i가 arr의 데이터 길이보다 낮을경우 1씩 증가해준다. 이렇게 하면 그림이 1줄씩 나뉘어서 출력되는데 console.log(arr)에 .String을 부여하여 1줄에 그림이 출력되도록 한다.

6.
for문을 사용하여 다음값을 아래와 같이 출력하시오.

  • 전제조건
    let 블록 = [ ]
    블록 = [1,2,3,4,5,6,7,8,9,10,13]
    n번째 배열값 : i

1번째 배열값 : 1
2번째 배열값 : 2
3번째 배열값 : 3
4번째 배열값 : 4
5번째 배열값 : 5
6번째 배열값 : 6
7번째 배열값 : 7
8번째 배열값 : 8
9번째 배열값 : 9
10번째 배열값 : 10
11번째 배열값 : 13

답:
for(let i = 0; i < 블록.lenght; i++){
console.log((i+1) + "번째 배열값 : " + 블록[i])
}

해석 : i = 0 이고 i가 볼록이란 arr의 데이터 길이보다 낮을경우 1씩 증가하며 반복한다. 이후 출력문으로 i값은 0으로 전제해뒀기에 +1을 해주고 문자열 " 번째 배열값 : " 을 연결연산자로 붙여주고 블록의 i 값을 연결해주면 텍스트가 완성된다.

0개의 댓글