Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
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
Tags
more
Archives
Today
Total
관리 메뉴

나 이정민

TIL 이란 이런거야 본문

카테고리 없음

TIL 이란 이런거야

나 이정민 2024. 12. 26. 21:21

프로젝트 하며!!

팀소개 문제발생: br 태그들과 텍스트 오른쪽정렬을 위해 class 를 줘서 text right 태그 여러개 작성했다. 팀원들과 소통하며 <li><ul> <p> 태그를 통해 수정을 깔끔히 마칠수있었다.

 

 

 

TIL 강의특강
-기성용-
기록 -뭘배웠는지
성장 - 학습한것 정리, 복습도 가능
활용 - 비슷한 문제발생시 활용 할수있다.

목표-취업 -> 남들보다 더 나은걸 증명.
TIL -> 신입이 성실함을증명할수있는 유일한것 
-TIL 작성법-
하루에한번 작성 꼭하기.
주제정하는법- 
1.강의 내용 정리
2. 개발 단계 정리
3. 하루 회고-프로젝트 중 오류들 돌발상황들 정리
4. 에러가 난 것에 대해 문제 해결과정 쓰기 !제일 중요!
느낀점- 

앞으론 내 일기장 쓰듯 작성하는게아닌 상대방도 내글을 이해하고 같이 본다생각하고 만들기

꾸준히 성실히 쓰기 / 썸네일 도 신경쓰기

 
 
 
 
 
 
 
문제.
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 코딩예시 function solution(n) { var answer = 0; return answer; } 이러할때 답은 뭐고 쉽게 설명해주라
 

정수 nn의 약수를 모두 더한 값을 리턴하는 함수 solution을 작성하는 문제입니다. 약수는 nn을 나누었을 때 나머지가 0이 되는 수를 말합니다.

예를 들어:

  • n=12일 때 약수는 1,2,3,4,6,12이며, 이들의 합은 28입니다.
  • n=5일 때 약수는 1,5이며, 합은 6입니다.

이제 코드를 완성해보겠습니다. 약수를 찾으려면 부터 n까지의 숫자 중 n을 나누었을 때 나머지가 0인 숫자를 확인하면 됩니다.

코드 예시:

javascript
코드 복사
function solution(n) {
var answer = 0; // 결과를 저장할 변수
for (var i = 1; i <= n; i++) { // 1부터 n까지 반복
if (n % i === 0) { // n을 i로 나눴을 때 나머지가 0이면 i는 약수
answer += i; // 약수를 answer에 더함
}
}
return answer; // 약수의 합 반환
}

작동 원리:

  1. 반복문을 사용해 1부터 n까지 확인합니다.
  2. 인 경우, i의 약수이므로 answer에 더합니다
  3. 반복문이 끝난 후 answer에 약수들의 합이 저장됩니다.

예시 실행:

javascript
코드 복사
console.log(solution(12));// 출력: 28
console.log(solution(5)); // 출력: 6

쉽게 설명하면:

  1. nn을 나눌 수 있는 모든 숫자를 찾아서,
  2. 그 숫자들을 전부 더한 뒤 결과를 반환합니다.
 
 
answer = answer + i;

즉, 현재 answer 값에 ii를 더한 값을 다시 answer에 저장하는 코드입니다.

 

약수란, 어떤 정수를 나누었을 때 나머지가 0이 되는 수를 말합니다. 쉽게 말해서, 어떤 수를 딱 나눠떨어지게 만드는 수를 약수라고 합니다


약수의 특징:

  1. 약수는 항상 1과 자기 자신을 포함합니다.
  2. n의 약수는 보다 작거나 같은 숫자들 중에만 존재합니다.
  3. 약수의 개수가 2개만 있는 경우, 그 수를 **소수(Prime Number)**라고 합니다.
    • 예: 2, 3, 5, 7, 11, ...

약수 구하기가 왜 중요한가?

  1. 수학 문제 풀이에서 자주 사용됨.
  2. 프로그래밍에서 숫자 관련 로직을 다룰 때 유용함.
  3. 소수 판별, 최대공약수(GCD), 최소공배수(LCM) 계산 등에서 필수적인 개념임.
 

문제 . 자연수 n이 매개변수로 주어집니다. n x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.

function solution(n) {

var answer = 0;

for(var i = 1; i <= n; i++)

for(var n = 1; i <= n; i++)

if ( n % x = 1)

return answer;

} 작성했는데 틀린게 뭐야? ㅠㅠ

 

작성한 코드에서 for 문이 중첩되어 있는데, 이 문제에서는 중첩 반복문이 필요하지 않습니다. 하나의 반복문으로 충분합니다.

 

  • =는 할당 연산자이고, 조건문에서는 사용하면 안 됩니다.
  • 조건문에서는 비교 연산자 == 또는 ===를 사용해야 합니다.
  • 그리고 변수 x가 정의되지 않았습니다. 이 부분에서 오류가 발생합니다.

n은 함수의 매개변수로 사용되고 있지만, for 반복문 내에서 다시 var n으로 선언되었습니다. 이로 인해 코드가 예상치 못하게 동작합니다.

function solution(n) {

for (let x = 2; x < n; x++) { // x는 2부터 시작 (1은 조건에 맞지 않으므로)

if (n % x === 1) { // 나머지가 1이 되는지 확인

return x; // 조건을 만족하면 x를 반환

                }

           }

return n - 1; // 만약 조건을 만족하는 x가 없다면 n-1 반환

}

 

let x= 2 인 이유는 1은 소수이기에 항상 나머지가 0이라서,

x<n인 이유는 n=2이면 나머지0이라서,

return n-1인 이유는 n-1하면 무조건 나머지1이라서. 풀이완료.