
Solution 1) 내 풀이
class Solution {
public int solution(int[] array) {
int cut = 0;
String[] strAraay = new String[array.length];
for (int i = 0; i < array.length; i++) {
strAraay[i] = Integer.toString(array[i]);
}
for (int i = 0; i < strAraay.length; i++) {
for (char tmp : strAraay[i].toCharArray()) {
if (tmp == '7') {
cut++;
}
}
}
return cut;
}
}
Solution 2) 다른 사람의 풀이
class Solution {
public int solution(int[] array) {
int answer = 0;
for(int a : array){
while(a != 0){
if(a % 10 == 7){
answer++;
}
a /= 10;
}
}
return answer;
}
}
코드 및 문제 리뷰
int 배열의 수를 보고 7이 몇번 등장하는지 카운트해서 반환하는 문제이다.
나는 int 배열을 string 배열로 만드는 초기작업을 거쳐 반복문을 돌며 char 형으로 == 7 을 체크해 카운트를 올리는 방식으로 풀이했다.
다른 사람의 풀이를 보니 형변환 없이 수학적으로 풀어낸 모습을 볼수 있었다. 나머지 연산자는 흔히 쓰이지만 항상 생각해내지 못하는 것 같다. String 배열이 아니었다는점, int 형으로 주어진 문제였으니 형변환 없이 나머지 연산을 쓰는 방법도 한번 더 생각해봐야겠다.
'연습문제 > 프로그래머스, 입문' 카테고리의 다른 글
| [프로그래머스 입문_java] 직사각형 넓이 구하기 (0) | 2023.11.05 |
|---|---|
| [프로그래머스 입문_java] 잘라서 배열로 저장하기 (0) | 2023.11.04 |
| [프로그래머스 입문_java] 문자열 계산하기 (0) | 2023.10.31 |
| [프로그래머스 입문_java] 가까운 수 (0) | 2023.10.30 |
| [프로그래머스 입문_java] 중복된 문자 제거 (0) | 2023.10.29 |