Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

rabbit97 님의 블로그

19일 일지 본문

개발 일지

19일 일지

rabbit97 2024. 8. 19. 20:59

오늘부터는 알고리즘 위주로 학습을 하게 될텐데 처음 세션 2시간 후 바로 알고리즘으로 넘어갔다.

 

혹시나 해서 바로 사전캠프때 까지만 했던 문제에서 다음으로 넘어가봤는데

 

문제 설명

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

 

function solution(num) {
let i = 0;
for (let i = 0; i < num; i++) {
if (num % i === 1) {
return i;
}
}
}

어렵지 않게 클리어!!

 

그동안의 문법 공부가 헛되지 않았구나 ㅠㅠ

 

저렇게 푼 이유는 num을 num보다 작은 변수 i로 나눴을때 1이 남으면 반환하는 식인데

 

설명이.. 더 필요한가...?? 다음!

 

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

 

function solution(x, n) {
let a = [];
for (let i = 0; i < n; i++) {
a.push(x + x * i);
}
return a;
}

 

여기선 시간을 좀 많이 썼다. 위에 문제랑 같은 유형이지만 숫자를 n개 지니는 '리스트'를 반환하라고 해서 배열까지는 떠올렸으나 그 배열을 어떻게 넣어야 하는지 몰라서 해매다가 검색..

 

push를 알게 되었고 바로 응용하기!

 

저런 식으로 푼 이유는 먼저 리스트를 만들어야하니 배열이 들어갈 변수 a를 만듬,

변수 x과 n이 먼저 주어졌으니 x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 만들어야 하고

x씩 더한 값을 배열 a에 하나씩 추가 해야한다.

 

그래서 반복문 for를 사용했고 주어진 숫자의 갯수 n개 에 도달할때까지 계속 반복하고 push로 더한 값에 또 더하는게 아닌 결과를 a에다가 넣는 방식이다. 

 

여기까지 풀고 다음 문제를 풀려고 할 때 쯤 과제가 도착했다!!

 

총 5문제이고 내일도 5문제를 준다고 하니 오늘안에는 다 풀어야하는데 난이도 무슨 일이람..

 

1번 문제!

풀다가 최대공약수라는 말을 수능 끝나고 처음 들어서 기억이 가물가물해서 검색하지 말고 최대한 혼자 풀어보라고 했지만..

 

바로 검색!

 

나는 최대공약수가 뭔지 찾아보려고 했는데 결국엔 코드에서 최대공약수란 하면서 정리한 글을 보고.. 기억을 떠올리며 코드 만들기

 

2번 문제!

2번 문제는 오래 걸렸지만 그래도 풀만 했다

 

3번 문제!

 

구현을 못해서 실패....

 

일단 검색으로 split, reverse, join을 찾았는데 이걸 아스키코드?? 를 적용하면서 하려니 진짜 도저히 모르겠다..

 

일단 시간을 너무 오래 잡아먹어서 건너뛰는데 다음에 두고보자...

 

4번 문제!!

 

set은 어떻게 구현해야하나 고민하다가 2주차 강의 내용 중

이걸 보고 써먹어야겠다 했는데

 

구현을 못하겠다.... 너무 어렵다..

 

5번 문제....

아무 숫자 넣고 값을 봤는데 

 

 

갈 길이 멀다..................................................................................

이유를 모르겠다아아아아아

해결!!!!!!!!!!!!!!!!!!!!!!!!

 

자바스크립트에서는 숫자는 길이를 직접적으로 가질 수 없다는 글을 보고 문자열로 변환 후 코드를 다시 짰다.

 

그런데 값이 저게 맞나....?? 아무리 생각해도 1이 들어가면 안될거같은데..

 

사실 짠 코드가 정답이 아니라서 일 수도 있으니 5번은 여기까지만 건들고 피드백을 받는걸 기다리고 일단 3, 4번 부터 좀 해결해야겠다..

 

-------------------------------------------------------------------------------------------------------------

오늘의 학습 요약

 

호기롭게 도전반으로 신청 했다가 두드려 맞는 중이다.. 문제를 최대한 검색 없이 풀어보자고는 하시지만 도저히 문법 검색 없이는 식을 만들지도 못하겠고 심지어 문법만 가지고 최대한 풀어보려 했으나 3, 4번 같이 감도 안잡히는 문제들을 보고는 그냥 기본반을 했어야 했나 하는 중이다.. 하지만 아에 성취감이 없는 건 아니다. 오히려 더 많은 유형을 보고 그 유형을 외워 응용하는 방식으로 하면 빠르게 알고리즘에 익숙 해질 것 같다.
이 방법은 실제로 예체능으로 진학 전 수능때까지 수학 공부할때 써먹던 방법이라 이 방법을 더 선호하긴 한다. 지금이야 졸업하고 수학을 하나도 건드린 적이 없지만 수능때까지만 해도 수학은 2등급이였어서 옛날 생각이 많이 나긴 한다.
빠르게 알고리즘에 익숙해지는거보단 기본기만 대충 다진 상태에서 실무 스킬 교육때 집중하는게 더 좋을까 생각은 하지만 뭐가 더 나은진 모르겠고 그냥 알고리즘이 재미있다. 도전반 하길 잘한 것 같다.

'개발 일지' 카테고리의 다른 글

21일 일지  (0) 2024.08.21
20일 일지  (0) 2024.08.20
17일 일지  (0) 2024.08.17
16일 일지  (0) 2024.08.16
15일 일지  (2) 2024.08.15