누코(nuuco)
오늘도 코딩
누코(nuuco)
전체 방문자
오늘
어제
  • 분류 전체보기
    • TIL
    • 에러 노트
    • 자료구조 & 알고리즘
    • 프로그래밍
    • 프로젝트
    • 한컷코딩
    • 글

공지사항

  • 🚚 (전)노션 ➡️ (현)티스토리로 블로그 이사 오는 중(⋯

최근 글

인기 글

최근 댓글

티스토리

250x250
반응형
hELLO · Designed By 정상우.
누코(nuuco)

오늘도 코딩

TIL

[TIL] #3. 이중 반복문

2022. 11. 26. 20:54

2022.4.28. (목)

1. 오늘의 소감

  • 코드스테이츠 크루님이 말하길, 개발 입문단계에서 입문자를 고통스럽게 하는 3대장이 있다고 한다.
  • 1대장 반복문, 2대장 이중 반복문, 3대장 재귀...
  • 반복문의 개념을 익히고 기본 반복문 문제를 풀 때까지는 좋았다. 하지만 이중 반복문 문제를 만나고 나서는(절레절레) 구구단 예제 정도야 음, 이렇게 쓰면 되겠다! 하고 바로 풀수 있었다. 하지만 출력값이 복잡한 문제를 만나니 머리가 아프다.
  • 다음에 이중반복문을 만났을 때 당황하지 않기 위해서 파악한 팁을 써 본다.
  • 이중 반복문 풀이법
    1. 우선은 문제를 이해한 뒤, 출력코드 3가지 예시 정도를 훑어보자. 입출력을 파악하는 게 먼저다.
    2. 공통점이 보인다면 예외처리와 함께 공통적인 부분은 미리 해치우는 게 좋다. 그래야 안 헷갈리니까.
    3. 적당한 출력문 예시를 골라 분석한다. 출력문이 너무 짧지도, 길지도 않은, 반복할 때 답이 잘 찍히고 있는지 빠르게 확인 가능한 예시로 고른다.
    4. 그 예시에서, 첫번째 반복문의 반복횟수를 파악한다. (초기값, 조건식, 증감문으로 연결짓기 위해)
    5. 예시의 첫번째 반복문의 각 반복 부분을 나눠서 본다.
    6. 각 부분에서 두번째 반복문의 반복횟수를 파악한다. (초기값, 조건식, 증감문으로 연결짓기 위해)
    7. 파악한 것을 바탕으로 의사코드로 정리한 뒤 코드를 작성한다.

2. 학습한 키워드

  • for, while, break, continue, 초기화, 조건식, 증감문, 소수, 약수, 이중반복문, label, Math.sqrt()

3. 키워드를 바탕으로 학습 내용 설명해보기

  • for(초기화; 조건식; 증감문) { }
  • while(조건식) { }
  • for 과 while 의 차이
    • for은 초기화, 조건식, 증감문을 () 안에 한 번에 쓰는 반면, while은 ()안에 조건식만 쓰고 초기화는 주로 반복문 바깥에 증감문은 안에 쓴다.
    • 보통 반복 횟수가 명확하면 for을 쓰고, 명확하지 않으면 while을 쓴다.
    • 초기화와 증감문이 필요 없는 경우에는 while문을 쓴다.
    • 초기화와 증감문이 너무 길어서 for문 조건식 안에 넣기 애매할 때 써도 좋을 것 같다.
  • break 를 쓰면 반복문을 바로 빠져나올 수 있다.
  • 단, 이중반복문 안에서 break문을 쓰면 가장 안쪽 반복문만 빠져나온다.
  • continue 를 쓰면 해당 반복에서 다음줄로 다지 않고 다음 반복으로 넘어간다.
  • break문과 continue문에 label을 붙여서 원하는 구간으로 이동시킬수 있다.
  • 라벨명 : ~~~, break 라벨명; continue 라벨명;
  • ‘라밸명 :’ 은 사용할 break 문이나 continue문 위에 있어야한다.
  • label은 코드의 논리적인 흐름을 방해할 수 있기 때문에 지양된다.
  • 소수 : 1과 자기자신만 약수로 가지는 자연수.
  • 소수 구하는 법
    • 1과 음수는 소수가 아니다.
    • 2를 제외한 짝수는 소수가 아니다.
    • 3 이상의 홀수 중에서 나눠지는 약수(홀수)가 있다면 소수가 아니다.
    • → num 이하 홀수를 다 나눠볼 필요 없이 num의 제곱근 이하인 수 중에서 num을 나누어 떨어지는 게 있는지 확인하면 된다. (에라토스테네스의 체)
  • Math.sqrt() 는 제곱근을 구하는 메서드.
728x90
반응형

'TIL' 카테고리의 다른 글

[TIL] #5. CSS 셀렉터  (0) 2022.12.01
[TIL] #4. HTML  (0) 2022.11.28
[TIL] #2. String 메서드  (0) 2022.11.25
[TIL] #1. 첫 페어 프로그래밍  (0) 2022.11.21
이전 TIL 포스팅 공지 (#1부터 #30까지)  (0) 2022.11.19
    'TIL' 카테고리의 다른 글
    • [TIL] #5. CSS 셀렉터
    • [TIL] #4. HTML
    • [TIL] #2. String 메서드
    • [TIL] #1. 첫 페어 프로그래밍
    누코(nuuco)
    누코(nuuco)
    👩🏻‍💻 예비 프론트엔드 개발자 😎 글 쓰고, 그림 그리고, 코딩하는 것을 좋아합니다✨

    티스토리툴바