728x90
백준 1085번 직사각형에서 탈출
내가 생각한 풀이
기준점 (0, 0)에서 끝점 (w, h)까지의 직사각형이 생기는데 기준점과 끝면으로 생긴 직사각형 면에 가장 가까운 거리를 구하는 문제이다. 저는 x의 좌표에서 기준점을 빼고 w좌표에서 x를 빼주고 Math.min을 이용해서 최솟값을 저장하고 y도 같은 방법으로 최솟값을 저장하고 두개의 최솟값을 다시 Math.min으로 최솟값을 구해서 출력해준다.
정확한 풀이
import java.util.*;
import java.io.*;
public class Baek1085 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
int w = Integer.parseInt(st.nextToken());
int h = Integer.parseInt(st.nextToken());
int endX = w - x;
int endY = h - y;
int m = Math.min(x, y);
int n = Math.min(endX, endY);
int answer = Math.min(m, n);
System.out.println(answer);
}
}
백준 1181번 단어 정렬
내가 생각한 풀이
String 배열로 문자열을 받아서 Comparator를 이용해서 단어 길이가 같을 경우 return o1.compareTo(o2);를 해주고 길이가 다르면 길이 순으로 정렬을 한다. 같은 단어가 있을 때 for문으로 탐색 후 그 전의 단어와 같을 경우 하나만 출력을 해줘서 중복을 방지한다.
정확한 풀이
import java.io.*;
import java.util.*;
public class Baek1181 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String []str = new String[n];
for(int i = 0; i < n; i++) {
str[i] = br.readLine();
}
Arrays.sort(str, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if(o1.length() == o2.length()) {
return o1.compareTo(o2);
}
else {
return o1.length() - o2.length();
}
}
});
System.out.println(str[0]);
for(int i = 1; i < n; i++) {
if(!str[i].equals(str[i - 1])) {
System.out.println(str[i]);
}
}
}
}
오늘의 회고
오늘은 어제 못풀었던 정렬에 관한 쉬운 문제 2문제를 풀어봤습니다. 정렬의 comparator를 이용하는 문제에서 아직은 완벽하게 구현하기 부족한 점이 있고 복습을 하면서 완전하게 내것으로 만들어야 될 것 같습니다. 아직 갈 길이 멀지만 급하게 하지 않고 천천히 꾸준하게 준비하겠습니다.
728x90
'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
Do it! 알고리즘 코딩 테스트 (22번 ~ 25번) (0) | 2022.05.24 |
---|---|
Do it! 알고리즘 코딩테스트(16번 ~ 20번) (0) | 2022.05.23 |
Do it! 알고리즘 코딩테스트(14번) (0) | 2022.05.20 |
백준) 스택, 덱, 큐 (0) | 2022.05.19 |
Do it! 알고리즘 코딩테스트 (11번 ~ 13번) (0) | 2022.05.18 |