프로그래머스 (콜라츠 추측)
class Solution {
public int solution(int num) {
int answer = 0;
// int 타입의 범위를 넘어가서 long 타입으로 형 변환
long number = num;
if(number == 1){
return 0;
}
while(number != 1){
answer++;
if(answer == 500){
return -1;
}
if(number % 2 == 0){
number /= 2;
}else{
number = number * 3 + 1;
}
}
return answer;
}
}
백준 1356번 (Bronze 1)
import java.util.Scanner;
public class problem356 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String inputString = in.nextLine();
int length = inputString.length();
boolean isCheck = false;
// 12345 는 총 4가지로 나눌수있다.
for (int i = 0; i < length - 1; i++) {
int temp1 = 1; // 왼쪽 부분의 누적합
int temp2 = 1; // 오른쪽 부분의 누적합
// 왼쪽 부분의 합
for (int j = 0; j <= i; j++) {
temp1 *= inputString.charAt(j) - '0';
}
// i+1 번째부터 시작하는 이유는 나눌수 있는 가지수에서
// 왼쪽부분을 제외하고 누적해줘야된다.
for (int k = i + 1; k < length; k++) {
temp2 *= inputString.charAt(k) - '0';
}
if (temp1 == temp2) {
isCheck = true;
break;
}
}
if (isCheck) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
코드업 1124번
import java.util.Scanner;
public class problem358 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// C3H20
// H를 기준으로 split하기 때문에
// inputString[0] = C3, inputString[1] = 20 으로 반환됩니다.
String[] inputString = in.nextLine().split("H");
String inputStringSub = inputString[0].substring(1);
System.out.println(12 * Integer.parseInt(inputStringSub) +
Integer.parseInt(inputString[1]));
}
}