반응형
직사각형 넓이 구하기
class Solution {
public int solution(int[][] dots) {
int answer = 0;
int o[] = dots[0];
for(int i = 1; i< dots.length; i++){
if(o[0] != dots[i][0] && o[1] != dots[i][1]){
answer = (o[0] - dots[i][0]) * (o[1] - dots[i][1]);
}
}
return Math.abs(answer);
}
}
캐릭터의 좌표
class Solution {
public int[] solution(String[] keyinput, int[] board) {
int[] answer = new int[2];
int boundw = board[0] /2;
int boundh = board[1] /2;
for(String move : keyinput){
switch(move){
case "left":
answer[0] -= 1;
if(answer[0] < -boundw){
answer[0] = -boundw;
}
break;
case "right":
answer[0] += 1;
if(answer[0] > boundw){
answer[0] = boundw;
}
break;
case "up":
answer[1] += 1;
if(answer[1] > boundh){
answer[1] = boundh;
}
break;
default :
answer[1] -= 1;
if(answer[1] < -boundh){
answer[1] = -boundh;
}
break;
}
System.out.print(answer[0] + " " + answer[1] + " ");
}
return answer;
}
}
최댓값 만들기 (2)
import java.util.*;
class Solution {
public int solution(int[] numbers) {
Arrays.sort(numbers);
int a = numbers[numbers.length-1] * numbers[numbers.length-2];
int b = numbers[0] * numbers[1];
return Math.max(a,b);
}
}
다항식 더하기
import java.util.*;
class Solution {
public String solution(String polynomial) {
String[] arr = polynomial.split(" ");
int[] answer = new int[2];
for(int i = 0; i< arr.length; i+=2){
if(arr[i].contains("x")){
String s = arr[i].replace("x","");
if(s.equals("")){s = "1";}
answer[0] += Integer.parseInt(s);
continue;
}
answer[1] += Integer.parseInt(arr[i]);
}
if(answer[0] == 0){
return answer[1] + "";
}else if(answer[0] == 1){
if(answer[1] == 0){
return "x";
}
return "x"+ " + " + answer[1];
}
else if(answer[1] == 0){
return answer[0] + "x";
}
return answer[0]+ "x" + " + " + answer[1];
}
}
728x90
반응형
'CodingTest' 카테고리의 다른 글
유클리드 호제법 - 최대공약수, 유한소수 판별하기 (0) | 2025.05.06 |
---|---|
코딩테스트 입문 - Day 21 (0) | 2025.05.05 |
코딩테스트 입문 - Day 19 (0) | 2025.05.05 |
코딩테스트 입문 - Day 18 (1) | 2025.04.27 |
코딩테스트 입문 - Day 17 (0) | 2025.04.27 |