Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- visualvm
- 패스트캠퍼스
- MYSQL
- 스프링의 정석
- DB
- Spring
- 카프카
- 프로그래머스
- docker
- 시큐리티
- 생성자 주입
- Spring Security
- JWT
- 개인프로젝트
- JavaScript
- WEB SOCKET
- @jsonproperty
- EC2
- AWS
- 데이터베이스
- 스웨거
- CentOS
- Kafka
- 웹개발
- 남궁성과 끝까지 간다
- 항해99
- 쇼트유알엘
- java
- 스파르타코딩클럽
- emqx
Archives
- Today
- Total
Nellie's Blog
[프로그래머스][코딩테스트 입문] 각도기 본문
728x90
문제 설명
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
- 예각 : 0 < angle < 90
- 직각 : angle = 90
- 둔각 : 90 < angle < 180
- 평각 : angle = 180
제한사항
- 0 < angle ≤ 180
- angle은 정수입니다.
문제
class Solution {
public int solution(int angle) {
return ;
}
}
내 잘못된 풀이
class Solution {
public int solution(int angle) {
int ans = 0;
if(0 < angle < 90){
ans = 1;
}else if(angle == 90){
ans = 2;
}else if(90 < angle < 180){
ans = 3;
}else{
ans = 4;
}
return ans;
}
}
정답
class Solution {
public int solution(int angle) {
int ans = 0;
if(0 < angle && angle < 90){
ans = 1;
}else if(angle == 90){
ans = 2;
}else if(90 < angle && angle < 180){
ans = 3;
}else{
ans = 4;
}
return ans;
}
}
다른풀이1 (삼항연산자 사용)
class Solution {
public int solution(int angle) {
return angle == 180 ? 4 : angle < 90 ? 1 : angle == 90 ? 2 : angle > 90 ? 3 : 0;
}
}
다른풀이2 (switch-case 사용)
class Solution {
public int solution(int angle) {
int answer = 0;
String gak = null;
if(0 < angle && angle < 90){
gak = "예각";
};
if(angle == 90){
gak = "직각";
};
if(90 < angle && angle < 180){
gak = "둔각";
};
if(angle == 180){
gak = "평각";
};
switch(gak){
case "예각":
answer = 1;
break;
case "직각":
answer = 2;
break;
case "둔각":
answer = 3;
break;
case "평각":
answer = 4;
break;
}
return answer;
};
}
- 연산을 하나씩 시켜야 한다. 수학처럼 0 < a < 1 이런 식으로 하면 안된다!!!
- 변수(int ans = 0;) 는 항상 자동으로 생성해줄것... 변수를 리턴해야하니까!
'Back-end > Algorithm' 카테고리의 다른 글
[프로그래머스][코딩테스트 연습] 가운데 글자 가져오기 (0) | 2022.11.18 |
---|---|
[항해99] Java 과제 - 알고리즘 첫날/ 기본3문제 (0) | 2022.11.18 |
최대값과 최소값의 합 구하기 (0) | 2022.10.20 |
[프로그래머스] 스킬 체크 테스트 level1 - 나누어 떨어지는 숫자 배열 (3) | 2022.09.16 |
[java] 사각형 클래스를 상속받아 객체지향구조 구현 (4) | 2022.09.05 |