✍ for문을 작성할 줄 알고 활용해본다.
✍ while문을 이해하고 활용해본다.
for문은 조건식이 참인 동안 주어진 횟수만큼 실행문을 반복적으로 수행한다.
for문이 정해진 횟수만큼 반복한다면, while문은 조건식이 true일 경우에 계속해서 반복한다. for문과 while문은 초기화, 증감식의 위치만 다를 뿐 상호 대체가 가능하다.
break문은 반복문인 for문, while문, do-while문을 실행 중지할 때 사용된다. 또한 switch문에서도 break문을 사용하여 switch문을 종료한다.
continue문은 반복문인 for문, while문, do-while문에서만 사용 되는데, 블록 내부에서 continue문이 실행되면 for문의 증감문 혹은 while, do-while문의 조건식으로 이동하여 작동한다. continue문과 break문의 차이점은 반복문 종료 여부이다. continue문은 반복문을 종료하지 않고 다음 차례로 넘어가 계속 반복을 수행한다.
문제 : 1 이상의 자연수를 입력받아 소수(prime number)인지 여부를 리턴해야 합니다.
입력받은 정수가 소수인지 아닌지 판별해 소수면 true를 반환, 소수가 아니면 false를 반환하는 코드를 작성하는 문제이다.
코드 설명 : 우선 반복문 예외 조건문으로 입력 값이 1이면 1은 소수가 아니므로 false를 반환하고,2는 소수이므로 true를 반환하게 만들었다.
그리고 만약 num이 짝수인 경우 2를 제외한 짝수는 소수가 될 수 없으므로 미리 제외시켜주었다.
1,2는 앞에서 조건문을 만들었기 때문에 반복문은 3부터 시작하게 하였고
Math.sqrt(num) : num의 제곱근을 구하는 메서드 를 사용해주었다.
앞에 (int)를 붙여준 이유는 메서드를 사용했을 때 double형으로 변환이 되기 때문에 바꿔주었다. 반복문 안 조건식은 3~num 까지의 숫자 중 떨어지는 숫자가 있다면 소수가 아니므로 false를 return 하도록 하였고 반복문을 돌려서 나온 num이 있다면 소수인 경우이므로 true를 return 하도록 했다.
우선 간단한 이론 설명과는 달리 문제를 실제 접해보니 막상 코드를 짜려니 머리가 새하얘지는것을 경험했다.😵
Zoom 실시간 세션 때 강사님께서 문제 풀이를 한 코드와 내 코드를 비교했을 때 같은 문제지만 접근하는 방법에 따라서 코드는 무한정 바뀔수 있다는 것을 느꼈고, 문제를 푸는 것도 중요하지만 코드의 가시성과 효율성을 높이는 것이 중요할 것 같다고 생각했다.👩💻
아직 제어문과 반복문이 익숙하지 않아서 문제 푸는게 더디지만 코딩을 많이 해서 익숙해져야겠다.😃
블로그 작성 중인데 엄마가 같이 공원을 뛰자고 하신다..
하 피곤한데...🥴
다녀오겠습니다🏃♀️