22.09.30_모각코 1회차
2022. 9. 30. 15:27ㆍ모각코
목표
- 객체지향프로그래밍 과제 10문제 풀기(과제 4)
내용
(무언가 하나라도 얻어간 문제만 기재)
1.
문제 설명
- 두 자연수 a, b 사이의 구간에 대해서 홀수는 더하고 짝수는 뺀다음의 합을 출력하시오. 예) a = 5, b=10 일 경우, 5 - 6 + 7 - 8 + 9 - 10 = -3
입력
- 두 자연수 a, b를 함수의 인자값으로 받는다. ( a <= b )
출력
- a, b 사이의 수 중 홀수는 더하고 짝수는 뺀 결과를 리턴하시오.
class Solution {
public int solution(int a, int b) {
int answer = 0;
for (int i = a; i <= b; i++) {
// if (i % 2 != 0) {
// answer += i;
// } else {
// answer -= i;
// }
answer = i%2!=0 ? answer + i : answer - i; // 삼항 연산자를 이용해봤다
}
return answer;
}
}
5.
문제 설명
함수의 인자값으로 양의 정수 n이 주어진다. 이때, 1부터 9까지의 구구단을 구하여 배열의 형태로 리턴하는 함수를 구현하시오.
입출력 예
|입력값|결과값|
|-----|----|
|3|[3, 6, 9, 12, 15, 18, 21, 24, 27]|
class Solution {
public int[] solution(int n) {
// int[] answer = {n*1, n*2, n*3, n*4, n*5, n*6, n*7, n*8, n*9}; // 요소가 9개밖에 안되므로 배열 선언할 때 바로 값을 초기화 시켜줌
// return answer;
int[] answer = new int[9];
for (int i = 0; i < 9; i++) {
9.
문제 설명
함수의 인자값으로 양의 정수 n이 주어진다. 이때, 2이상 n이하의 수들 중 어떤 수의 제곱한 수가 아닌 수의 개수를 구해 리턴하는 함수를 구현하시오.
입출력 예
|입력값|결과값|
|-----|----|
|10|7|
예제 설명
2 이상 10 이하의 수들중 어떤수의 제곱이 아닌수는 2, 3, 5, 6, 7, 8, 10으로 총 7개이다.
class Solution {
public int solution(int n) {
int answer = 0;
// for (int i = 2; i <= n; i++) { // Math.sqrt를 이용하여 쉽게 풀 수 있음
// if (Math.sqrt(i) != (int)Math.sqrt(i)) {
// answer += 1;
// }
// }
for (int i = 2; i <= n; i++) {// 이중for문으로도 풀 수 있음
for (int j = 2; j <= i; j++) {
if (i == j*j) {
break;
}
if (i == j) {
answer += 1;
}
}
}
return answer;
}
}
10.
문제 설명
함수의 인자값으로 양의 정수 n이 주어진다. 이때, n의 자리수중 가장 큰 수를 리턴하는 함수를 구현하시오.
입출력 예
|입력값|결과값|
|-----|----|
|6134527|7|
예제 설명
주어진 6134527의 각 자리수를 살펴보면, 가장 큰 수가 7임을 알수있다. 결과값 7을 리턴.
class Solution {
public int solution(int n) {
// int answer = n % 10;
// int length = (int)(Math.log10(n) + 1); // 로그를 통해 자릿수를 구함
// for (int i = 0; i < length; i++) {
// n /= 10;
// if (n % 10 > answer) {
// answer = n % 10;
// }
// }
int answer = n % 10;
while (true) { // while문으로 Math를 이용하지 않고 자릿수를 구할 숭
n /= 10;
if (n % 10 > answer) {
answer = n % 10;
}
if (n < 10) {
break;
}
}
return answer;
}
}
회고
- 로그를 통해 정수의 자릿수를 셀 수 있다는 것을 알았다.
- 삼항 연산자를 활용하여 쓰는 법을 익혔다.
- 자바에서 for문 쓰는 법과 증감 연산자에 대한 이해도가 올라갔다.
'모각코' 카테고리의 다른 글
22.11.25_모각코 6회차 (1) | 2022.11.30 |
---|---|
22.11.18_모각코 5회차 (0) | 2022.11.30 |
22.11.11_모각코 4회차 (0) | 2022.11.30 |
22.11.04_모각코 3회차 (0) | 2022.11.07 |
22.10.07_모각코 2회차 (0) | 2022.10.10 |