class Solution { public boolean solution(int x) { String x_str = String.valueOf(x); int sum = 0; for(int i = 0; i < x_str.length(); i++){ int a = x_str.charAt(i) - '0'; sum += a; } if(x % sum == 0){ return true; }else{ return false; } } } 숫자를 String 값으로 만들고 각 자리 숫자를 int 형으로 변경해서 더해준다음 나눴을 때 나머지가 0이 나오는 경우를 true 로 해서 풀었다!
import java.util.*; class Solution { public long solution(long n) { long answer = 0; List list = new ArrayList(); String str_n = String.valueOf(n); for(int i = 0; i < str_n.length(); i++){ list.add(str_n.charAt(i) - '0'); } Collections.sort(list); Collections.reverse(list); StringBuilder sb = new StringBuilder(); for(int i = 0; i < list.size(); i++){ sb.append(list.get(i)); } answer = Long.parse..
class Solution { public long solution(long n) { if(Math.sqrt(n) % 1 == 0){ return (long)Math.pow(Math.sqrt(n) + 1, 2); }else{ return -1; } } } 이번 문제는 Math.sqrt를 이용해면 쉽게 풀 수 있는 문제였다.
class Solution { boolean solution(String s) { int a_count = 0; int b_count = 0; s = s.toLowerCase(); for(int i = 0; i < s.length(); i++){ if(s.charAt(i) == 'p'){ a_count++; }else if(s.charAt(i) == 'y'){ b_count++; } } if(a_count == b_count){ return true; }else{ return false; } } } toLowerCase() 를 이용해 모두 소문자로 만들고 개수를 확인해주면 쉽게 풀 수 있는 문제였다
-- 코드를 입력하세요 SELECT ANIMAL_TYPE, IFNULL(NAME , 'No name')AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID 종, 이름, 성별 및 중성화 여부 조회하고 없는 경우 'No name'으로 표시하는 문제이다 IFNULL(NAME, 'No name')을 사용하여 'NAME'이 NULL 이면 'NO name'을 출력하도록 한다
-- 코드를 입력하세요 SELECT COUNT(DISTINCT NAME) AS count FROM ANIMAL_INS WHERE NAME IS NOT NULL; 동물의 이름을 조회하고 중복된 이름을 하나로 카운트하는 방식이다 1. ANIMAL_INS 테이블에서 'NAME' 이 NULL이 아닌 레코드를 선택 2. DISTINCT NAME 을 사용하여 중복되지 않는 이름만 선택 3. 선택된 고유한 이름의 수를 'count'로 출력
-- 코드를 입력하세요 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE LOWER(NAME) LIKE '%el%' AND ANIMAL_TYPE = 'Dog' ORDER BY NAME; 보호소에 들어온 동물중 이름에 'el'이 들어가는 개의 아이디와 이름을 조회하려면 'ANIMAL_INS' 테이블에서 이름에 'el'이 들어가는 동물만 선택하고 그 중에서 Dog 를 필터링하면 된다. 그리고 대소문자를 구분하지 않는다고 했으므로 LOWER 를 이용해 모두 소문자로 변환하여 비교한다