반응형
처음 스터디에서 알고리즘 문제를 받았을 때 너무 어렵고 당황스러웠는데
그 뒤, 프로그래머스 스쿨 코딩 테스트를 풀기 시작하고 알고리즘에 익숙해지면서 다시한번 문제를 풀어보았습니다!
모두 결괏값을 구하는 문제입니다
1번 문제
function func(){
for(i=1; i <=7; i++){
for(j=1; j<=i; j++){
document.write(j);
}
document.write("<br>")
}
}
func();
정답
더보기
1
12
123
1234
12345
123456
1234567
해설
더보기
function func(){
// 첫번째 for문은 1,2,3,4,5,6,7 => 7번 반복된다
for(i=1; i <=7; i++){
// 두번째 for문은 i의 값만큼 반복된다
for(j=1; j<=i; j++){
document.write(j); // 1 <br> 1 2 <br> ...
}
document.write("<br>")
}
}
func();
2번 문제
function func(){
let i = 10, hap = 0;
while(i>1){
i--;
if(i%3==1){
hap += i;
}
}
document.write(hap);
}
func();
정답
더보기
12
해설
더보기
function func(){
let i = 10, hap = 0;
while(i>1){ (10,9,8,7,6,5,4,3,2)로 반복
i--; // 1씩 감소 (9,8,7,6,5,4,3,2,1)이 차례대로 나옴
if(i%3==1){ // i는 3으로 나눈 다음 나머지가 1이면 true (7,4,1)
hap += i; //if에서 참인 값을 차례대로 더해줌 (12)
}
}
document.write(hap);
}
func();
3번 문제
function func(){
let a = [];
for( i=1; i <=15; i+=4){
a += [i];
}
document.write(a);
}
func();
정답
더보기
15913
해설
더보기
function func(){
let a = []; // 배열
for( i=1; i <=15; i+=4){ // 1, 5, 9, 13
a += [i]; // 더하기 할당에서 숫자는 더하기 나머지(string, arr등)는 이어 붙임
}
document.write(a); // 15913
}
func();
4번 문제
function func(){
let a = [1,2,3,4,5,6,7,8,9], cnt = 0;
for(i=0; i<a.length; i++){
if(a[i]%2==0){
cnt = cnt +1;
}
}
document.write(cnt);
}
func();
정답
더보기
4
해설
더보기
function func(){
let a = [1,2,3,4,5,6,7,8,9], cnt = 0;
for(i=0; i<a.length; i++){ // length : 9 => 9번 반복 (i = 0,1,2,3,4,5,6,7,8)
if(a[i]%2==0){ // i의 인덱스가 짝수인 경우 true (i = 1,3,5,7)
cnt = cnt +1; // 0 = 0 + 1 / 1 = 1 + 1 / 2 = 2 + 1 / 3 = 3 + 1 => cnt = 4
}
}
document.write(cnt);
}
func();
5번 문제
function func(data, exp){
let result = 1;
for(i=0; i<exp; i++){
result = result * data
}
document.write(result);
}
func(3,3);
정답
더보기
27
해설
더보기
function func(data, exp){
let result = 1;
for(i=0; i<exp; i++){ //i = 0, 1, 2 => 3번 반복
result = result * data // result = 1 * 3 / 3 = 3 * 3 / 9 = 9 * 3 => result = 27
}
document.write(result);
}
func(3,3);
6번 문제
function func(){
const a = [2,3,2,4,5,6,7,2,3,3,2];
let value = 0;
for(i=0; i<a.length; i++){
if(a[i]==7){
value++;
}
}
document.write(value);
}
func();
정답
더보기
1
해설
더보기
function func(){
const a = [2,3,2,4,5,6,7,2,3,3,2];
let value = 0;
for(i=0; i<a.length; i++){ //length : 11 / i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
if(a[i]==7){ // index가 증가하면서 7의 값을 가지고 있으면 true
value++; // 7은 한번 밖에 없어서
}
}
document.write(value); // value = 1
}
func();
7번 문제
function func(){
let i,j = 0;
for( i=0; i<5; i++){
j += i;
}
document.write(i);
document.write(j);
}
func();
정답
더보기
5 10
해설
더보기
function func(){
let i,j = 0;
for( i=0; i<5; i++){ // i = 0, 1, 2, 3, 4
j += i; // j = 10
}
document.write(i); // 5
document.write(j); // 10
}
func();
반응형
'front-end 공부하기 > 코딩테스트' 카테고리의 다른 글
[코딩 테스트 연습] 문자열을 정수로 바꾸기 (javascript) (0) | 2022.09.29 |
---|---|
[코딩 테스트 연습] 제일 작은 수 제거하기 (javascript) (0) | 2022.09.29 |
[코딩 테스트 연습] 가운데 글자 가져오기 (javascript) (0) | 2022.09.29 |
[코딩 테스트 연습] 두 정수 사이의 합 (javascript) (0) | 2022.09.29 |
[코딩 테스트 연습] 수박수박수박수박수박수? (javascript) (0) | 2022.09.28 |
댓글