일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- db
- compiler
- string
- rds
- AOP
- 알고리즘
- redis
- Airflow
- template
- java
- kotlin
- CodeDeploy
- EC2
- springboot
- immutable
- Github
- Spring
- workflow
- Action
- QueryDSL
- 토비의 스프링
- mutable
- JPA
- JUnit
- 사이드 프로젝트
- aws
- git
- build_test
Archives
- Today
- Total
개발 일기
프로그래머스 레벨 1 정수 제곱근 판별 (JAVA) 본문
블로그를 시작하려 한다..
알고리즘이든 자바공부든 스프링 공부든
뭔가를 한 내역이 있으면 블로그에 남기려고 한다.
2주정도 꾸준히 풀고있는 알고리즘 문제를 시간날때마다 올려 봐야겠다.
https://programmers.co.kr/learn/courses/30/lessons/12934
코딩테스트 연습 - 정수 제곱근 판별
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함
programmers.co.kr
요즘 자바의 스트림과 람다식도 공부하고있어서 최근 공부한걸 응용해서 풀어보았다..!
public class Programmers12934 {
public long solution(long n) {
return LongStream.of(n).map(s ->
{
int count = 1;
double num = (double) s / 2;
while (true) {
if(num - count < 0) {
if(num * 2 == count) {
return (long) (count + 1) * (count + 1);
} else {
return -1;
}
}
num = num - count;
count++;
}
}
).max().orElse(-1);
}
}
'알고리즘 > programmers' 카테고리의 다른 글
프로그래머스 레벨1 소수구하기 (JAVA) (0) | 2021.07.09 |
---|---|
프로그래머스 레벨1 크레인 인형뽑기 (JAVA) (0) | 2021.07.07 |
프로그래머스 레벨1 폰켓몬 (JAVA) (0) | 2021.07.06 |
프로그래머스 레벨1 다트게임 (JAVA) (0) | 2021.07.04 |
프로그래머스 레벨1 [1차] 비밀지도 (JAVA) (0) | 2021.07.01 |