주니어 기초 코딩공부/JAVA_programmers_코딩테스트
369게임_programmers_lev00
jju_developer
2022. 12. 8. 21:48
728x90
<코딩 테스트>
머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요.
<나의 풀이 과정>
처음에 int형을 String 배열에 담을 때 하나하나 쪼개어서 나눌때 " " 을 더한 후 split 메서드를 사용해야 하는지를 몰랏기 떄문에 배열을 두개나 더 선언했었는데, 이렇게 또 하나 배웠습니다.
<나의 풀이 코드>
class Solution {
public int solution(int order) {
int answer = 0;
String[] strArr = ("" + order).split("");
for (int i = 0; i < strArr.length; i++) {
if (strArr[i].equals("3") | strArr[i].equals("6") | strArr[i].equals("9"))
answer++;
}
return answer;
}
}
<다른사람 풀이 1>
class Solution {
public int solution(int order) {
int answer = 0; String str = String.valueOf(order); // str : 29423 String[]
strArr = str.split("");
int[] intArr = new int[strArr.length]; for (int i = 0; i < strArr.length;
intArr[i] = Integer.parseInt(strArr[i]); // intArr : [2, 9, 4, 2, 3]
answer++ if (intArr[i] % 3 == 0) answer++;
}
return answer;
}
}
<다른사람 풀이 2>
class Solution {
public int solution(int order) {
int answer = 0;
int count = 0;
while(order != 0)
{
if(order % 10 == 3 || order % 10 == 6 || order % 10 == 9)
{
count++;
}
order = order/10;
}
answer = count;
return answer;
}
}
728x90