내가 작성한 소스코드

 

다른 사람들의 풀이

 

 

3항 연산자를 사용하고 애초에 500 미만으로만 반복하도록 설계하였다.

 

내가 작성한 소스코드

 

다른 사람들의 풀이

 

아직 Stream 공부를 안해서 모르지만, 댓글을 읽어보니 가독성은 좋은데 속도가 느린 클래스인가보다.

그리고 버전 문제도 있다고 한다. java 버전 8이상에서만 사용 가능.

 

내가 작성한 소스코드

 

다른 사람이 작성한 코드

 

  • 만약 제곱근인 n 을 2제곱 한 수가  n dlfkaus
  • (n+1)을 제곱한 수를 리턴하고
  • 그렇지 않다면 -1 을 리턴.

Math.pow(5, 2) : 5의 2제곱 = 25를 리턴

Math.pow() 메소드는 입력값과 출력값은 모두 double형이며 Math.pow(대상숫자,지수)를 넣어주면 됩니다.

 

Math.sqrt(25) : 25의 제곱근인 5를 리턴 

Math.sqrt() 메소드는 입력값과 출력값은 모두 double형이며 Math.sqrt(대상숫자)를 넣어주면 됩니다.

 

내가 작성한 소스코드

 

답안은 아래와 같이 long타입으로 변환하여 작성해서 통과하였다.

 

 

 

다른 사람들의 풀이

 

 

  • 정수를 문자열로 변환
  • 오름차순으로 정리
  • StringBuilder 를 생성
  • for each문을 사용하여 .append() 로 스트링타입으로 변환
  • .reverse().toString() 을 사용하여 내림차순으로 변환한 문자열 생성
  • 그 문자열을 Long.parseLong() 을 이용하여 long 타입으로 변환

 

풀이 2

 

이렇게 위에 처럼 쉽게 작성할 수도 있다. 

 

 

내가 작성한 소스코드

 

다른 사람들의 풀이

 

풀이 1

 

String a = ""+ n; 

을 하면 String 타입의 자연수 n 이 생성된다. 그리고 이걸 int[] 배열을 길이를 지정할때 사용하였다.

 

 

 

풀이 2

 

StringBuilder? 

StringBuffer 클래스는 String을 다루는 클래스다. 생성자의 파라미터로 문자열을 입력받을 수 있다. Stirng은 변경 불가능한 문자열을 생성하지만 StringBuilder는 변경 가능한 문자열을 만들어 주기 때문에, String을 합치는 작업 시 하나의 대안이 될 수 있다. 만들어진 문자열을 출력하기 위해  .toStrin()을 사용한다.

 

.reverse() 

문자열을 뒤집을때 java.lang.StringBuffer 클래스의 reverse() 메소드를 사용할 수도 있다.


생성자의 파라미터로 문자열을 입력받을 수 있습니다.

String reverse = sb.reverse().toString();

StringBuffer 클래스의 reverse() 메소드를 호출하면,
reverse() 메소드를 호출한 객체, 즉 여기서는 sb의 문자열을 거꾸로 뒤집어서
sb 객체의 reference를 리턴한다.
(reverse() 메소드는 StringBuffer 객체를 리턴하기 때문에, toString() 메소드를 사용하여 String으로 변환해 주었다.)

 

String.valueOf(n) : int 타입의 자연수 n을 String 타입으로 바꿔줄 때

String[] 변수명1 = 변수명2.toString().split(""); : String 타입의 배열을 int 타입의 배열로 바꿔줄때 자주 사용하는 코드

+ Recent posts