전체 글 179

[소프티어] GBC 레벨2 자바 풀이

https://softeer.ai/practice/6270 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai   현대 스러운 문제를 냈다. 글로벌 비즈니스 센터(GBC, Global Business Center)는 현대자동차그룹 통합 사옥에서 구간중 제한 속도 벗어나는것중 가장 큰것을 찾는 것이다.정해진 구간과 제한 속도를 주고 검사하는 구간과 속도를 준다.처음에 접근 했을땐 반복을 일일이 돌아야 하나 싶었지만 제한 속도 검사, 구간 실태 조사를 해서 i, j를 적절하게 움직여주면 될 것이라는 검증을 마치고 바로 코드를 쳤다.정답 코드import java.io.*;import java.util.*;public class Main { private static int[] nLeng..

[소프티어] 지도 자동 구축 레벨2 자바 풀이

https://softeer.ai/practice/6280 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai   정사각형을 이루는 점 4점이 존재 하는데 가운데에 각 정사각형안에 점을 찍고 늘려가는 문제이다.!총 단계별로 거쳐서 생긴 점은 몇개인가?진짜 간단한 문제인데.. 그림을 잘 못그려서 계속 이상한 식이 나와서 점화식을 세울수가없었다.여기서 핵심은 정사각형이기때문에 단계 별로 늘어가는 한 변의 크기를 보면 점화식을 세울수 있다.n1234한 변의 크기35917점의 개수92581289한변의 크기는 (2^n - 1)점의 개수는 넓이를 구하는 끝나는 문제정답 코드import java.io.*;public class Main { private static int N; priva..

[소프티어] 장애물 인식 프로그램 레벨2 자바 풀이 (DFS, BFS)

https://softeer.ai/practice/6282 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai   딱 문제를 보자마자 떠오른것은 DFS정답 코드import java.io.*;import java.util.ArrayList;import java.util.Collections;public class Main { private static int n; private static int blockCount; private static int[][] map; private static int[][] visited; private static int[] dy = {-1, 1, 0, 0}; private static int[] dx = {0, 0, -..

[소프티어] 바이러스 레벨2 자바 풀이

https://softeer.ai/practice/6284 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    바이러스 문제는 수학 계산 문제이다. K * P^N 만 계산하면 된다.처음에 간단한 문제라고 생각하고 풀었다가 계속 실패가 나왔다. 틀린 코드import java.io.*;import java.util.StringTokenizer;public class Main { private static int K; private static int P; private static int N; private static double dap = 0; public static void main(String[] args) throws IOException { ..

[소프티어] 금고털이 레벨2 자바 풀이

https://softeer.ai/practice/6288 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    처음에는 재귀로 풀어야 하나 싶었다. 하지만 Item 클래스를 두고 ArrayList를 이용해서 정렬을 해주면 되었다.원하는 대로 정렬을 하기 위해서는 Collections 이라는 것을 알게 되었다.Collections.sort(items, (i1, i2) -> { return i2.price - i1.price; });Collections.sort()메서드는 정렬 시 두 요소의 순서를 결정하기 위해 Comparator의 비교 결과를 사용한다.이때 반환값이 다음과 같은 의미를 가진다.양수 (>0): i2가 i1보다 클 때 위치를 바꾼다. 따라서 i2가 앞으로 오..

[소프티어] Recovering the Region 레벨2 자바 풀이 (한양대 HCPC 2023)

https://softeer.ai/practice/9497 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai   백준 30875번 문제와 동일 문제.https://www.acmicpc.net/problem/30875 문제를 보고 이해가 잘 되지 않았다. 이게 무슨 문제지 싶었다. 정답그냥 N줄만큼 숫자 그대로 출력하면 정답이다.원리: 직쏘 스도쿠는 세로줄/가로줄/영역 모두 다른 숫자로 구성되어 있기 때문이다. 하지만! DFS로도 해결 할 수 있다.간만에 연습할겸 해당 문제를 DFS로 풀어보았다. import java.io.*;import java.util.ArrayList;import java.util.StringTokenizer;public class Main { private..

[소프티어] X marks the Spot 레벨2 자바 풀이 (한양대 HCPC 2023)

https://softeer.ai/practice/7703 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai   생각보다 단순한 문제 같았다.내가 생각했던 로직은 아래와 같다.n을 입력받아 총 몇번 반복할지 결정s[i]에서 x, X 찾고 해당 index를 p 변수에 담기t[i]에서 p번째 문자 찾기result에 대문자로 변환한 문자를 추가하기 하지만 결과는 시간초과 import java.io.*;import java.util.StringTokenizer;public class Main { public static String[] s; public static String[] t; public static StringBuffer result = new StringBuff..

[소프티어] Yeah, but How? 레벨2 자바 풀이 (한양대 HCPC 2023)

https://softeer.ai/practice/9498 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    문제를 제대로 이해가 잘 안되어서 난해한 문제였다. 보통 괄호가 나오는 문제들은 스택을 많이 이용하기에 처음에 스택으로 해결하려고 고민을 많이 했다. 하지만 실패  import java.io.*;import java.util.Stack;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System...

[소프티어] 진정한 효도 레벨2 자바 풀이

https://softeer.ai/practice/7374 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    처음 이 문제를 접했을때 어떻게 풀어야지 하는 막연함이 존재했다. 하지만 조금씩 생각을 하면서 어떻게 하면 좋을지 하다가 결국 가로, 세로 각 3개씩 생각을 하니 단순해 보였다.  하지만 모든 케이스를 다 뒤지면서 어거지로 풀긴 했으나 너무 비효율적으로 먼저 풀었다.  import java.io.*;import java.util.StringTokenizer;public class Main { // 풀이 1 (내 풀이) public static int dap = 3; public static void main(String[] args) throws IOExc..

[소프티어] 연탄의 크기 레벨2 자바 풀이

https://softeer.ai/practice/7628 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    처음에 문제를 잘 못 이해하는 바람에 시간을 조금 썼던 문제이다.  연탄의 크기는 따로 안주길래 난로들 중 반복을 돌리면서 풀면 되겠지 했지만 아니였다. 생각보다 제약조건이 작아. 완전 탐색으로 문제를 풀면 금방 해결이 되었다.  import java.io.*;import java.util.StringTokenizer;public class Main { public static int dap = 0; public static void main(String[] args) throws IOException { BufferedReader br = new ..