본문 바로가기

전체 글102

[Lv.0 - Java] 120909 - 제곱수 판별하기 문제 풀이 처음에는 n의 제곱근을 구하고 다시 곱했을때 n이 그대로 나오면 1을 반환, 나오지 않으면 2를 반환하는 것을 생각했다. 하지만 실행결과 테스트를 하게 되었고 테스트 7과 8이 실패가 나오게 되면서 실행결과가 실패한 이유에 대해 생각해보았다. class Solution { public int solution(int n) { int answer = 0; double a = Math.sqrt(n); answer = (a*a == n) ? 1 : 2; return answer; } } 찾아본 결과 틀린 이유는 다음과 같다고 생각한다. 부동 소수점 연산은 항상 완벽한 정확성을 기대하기가 조금 어렵기 때문에 이 비교방법에서는 정확한 일치여부를 보장하지 않아 발생한 문제라고 예상되어진다. 예를 들어 Ma.. 2023. 11. 13.
[Lv.0 - Java] 120826 - 특정 문자 제거하기 문제 풀이 문자 letter가 문자열 my_string 안에 있으면 letter부분을 없애는 것이니까 my_string 안의 문자 letter를 ""공백으로 대체하기 위해 replace() 메소드를 사용했다. 코드 class Solution { public String solution(String my_string, String letter) { return my_string.replace(letter, ""); } } 2023. 11. 13.
[Lv.0 - Java] 120889 - 삼각형의 완성조건(1) 문제 풀이 1. import java.util.Arrays; 선언 2. 배열 sides를 Arrays.sort()를 이용하여 오름차순으로 정렬한다.3. 가장 마지막 인덱스에 위치한 숫자가 가장 값이 큰 변의 길이가 되므로 그 길이가 나머지 두 길이의 합보다 작으면 1을 반환하게 한다. 코드 import java.util.Arrays; class Solution { public int solution(int[] sides) { Arrays.sort(sides); if(sides[2] 2023. 11. 13.
[Lv.0 - Java] 120906 - 자릿수 더하기 문제 풀이 숫자 기본형일때 각자리 숫자를 구하는 방법으로 숫자 n을 10으로 나눈 나머지를 사용했다. 10으로 나눈 나머지는 항상 일의 자리가 나오기 때문이다. 그리고 그 후에 n은 10으로 나눈 몫을 다시 n으로 저장하여 10으로 나눈 나머지를 구하는 방식을 반복하여 각자리 숫자를 더했다. 코드 class Solution { public int solution(int n) { int answer = 0; while(n>0){ answer += n%10; n = n/10; } return answer; } } 2023. 11. 13.