본문 바로가기
728x90

Algorithm - Java39

[Softeer - Lv. 3] 효도 음식 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai또 DP문제. 어렵당처음에는 쪼갤 경계가 될 인덱스를 잡고거기서 바로 2분할 탐색을 실시했었는데 당연히 시간초과가 떴다.DP는 생각은 했었다가 2차원 배열로 하려고 했는데 그럼 10^12 아닌가 했었는데1차원 배열 4개를 만들면 되는거였다. [문제 제약 조건]Java2초1024MB 3 ≤ n ≤ 100,000-1,000 ≤ 선호도 ≤ 1,0001. 요리는 연속한 재료들로만 만들 수 있습니다. 이때 최소 1개 이상의 재료를 선택해야만 합니다.2. 서로 다른 요리에 사용되는 재료끼리 겹쳐서도, 그리고 인접해서도 안됩니다. [입력형식]첫 번째 줄에 n 이 주어집니다.두 번째 줄에는 부모님의 선호도를 나타내는 n 개의 숫자가 공백을 사이에 두고.. 2025. 2. 2.
[Softeer - Lv. 3] CPTI Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai크게 어려운 문제는 아닌데난 비트 연산 몰랐으니까....단순 문자열 비교로 하면 무조건 초과난다.substring으로 3등분해서도 해보고 charAt, toCharArray() 다 해봐도 안됨... [문제 제약 조건]Java3초1024MB [조건 1] 1≤N≤30,000[조건 2] 1≤M≤30최대 두 가지 영역에서만 성격이 다르면 두 사람은 친밀감을 느낀다고 합니다. 예를 들어, M=3인 경우, CPTI가 각각 000, 101인 사람들은 성격이 다른 영역이 2개이므로 친밀감을 느낍니다. 그렇지만, CPTI가 각각 010, 101인 사람들은 세 개의 영역 모두에서 성격이 모두 다르므로, 친밀감을 느끼지 않습니다. [입력형식]첫 번째 줄에 .. 2025. 2. 1.
[Softeer - Lv. 3] 좌석 관리 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai코테 문제를 풀면 풀수록 이젠 어찌저찌 혼자 힘으로 풀긴 푼다.시간이 좀 오래걸리거나?빨리 푸는데 예외나 시간 초과를 생각안한다거나.풀고나서 비교하고 싶어서 구글링했는데자바로 풀고 글을 쓰신 분이 없다.공개 글로는 내가 최초...? 다 파이썬한다.코드 간단한거 보고 나도 파이썬할까 했지만그래도 백엔드도 해야하는데 그냥 자바 해야지... [문제 제약 조건]Java5초1024MB 1 ≤ N, M ≤ 201 ≤ Q ≤ 3×10^41 ≤ id ≤ 10^4배정해줄수 있는 좌석 중 안전도가 가장 높은 좌석이 여럿 있을 수 있다. 이 때는 그 중에서 X가 가장 낮은 좌석을, X도 같다면 Y가 가장 낮은 좌석을 배정해 준다. 특수하게, 현재 모든 좌석.. 2025. 2. 1.
[Softeer - Lv. 3] 교차로 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai간단하다고 생각하고 했다가 늘 그렇듯 시간초과의 늪에 빠졌다.그 덕에 코드를 계속해서 고치면서 좀 예쁜 코드도 작성할 수 있었다.풀고 나서 다른 분들의 풀이도 찾아봤는데Car 클래스를 정의하시는 분들이 계셨다. 자바는 객체지향이니까.하지만 나는 이 문제에서 저번 Pair처럼 중요한 요소가 될 변수가객체에서만 나올 것 같지는 않아서 그냥 배열 자체로 풀이했다. [문제 제약 조건]Java3초1024MB 2 ≤ N ≤ 200,000모든 i(1 ≤ i ≤ N)에 대해, 0 ≤ ti ≤ 109이고, wi는 A, B, C, D 중 하나이다.t1 ≤ t2 ≤ ... ≤ tNi ≠ j 이고 ti = tj이면, wi ≠ wj이다.A, B, C, D 위치.. 2025. 1. 31.
[Softeer - Lv. 3] 조립라인 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai설이라 잠깐 푼 문제어제 공부한 DP를 써먹을 수 있었다.간단한 문제지만 DP니까 올림. [문제 제약 조건]Java2초256MB 1 ≤ N ≤ 103 인 정수각 작업시간과 이동시간은 105을 넘지 않는 양의 정수Ai 작업장에서 Bi+1작업장으로 혹은 Bi 작업장에서 Ai+1작업장으로 반조립 제품의 이동이 가능(이동시간이 추가됨) [입력형식]첫 번째 줄에 작업장의 수 N이 주어진다. i+1 (1 ≤ i ≤ N-1) 번째 줄에는 Ai 작업장의 작업시간, Bi 작업장의 작업시간, Ai 작업장에서 Bi+1 작업장까지 이동시간, Bi 작업장에서 Ai+1 작업장까지 이동시간이 차례로 주어진다. 마지막 N+1번째 줄에는 AN 작업장과 BN 작업장의 .. 2025. 1. 28.
[Softeer - Lv. 3] 비밀 메뉴2 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai처음 풀어보는 DP 문제.간단해 보여서아무 생각없이 그냥 풀었다가제출 후 절반이 넘는 시간 초과에 헤멨다...도무지 일반 풀이로는 답이 시간 초과 극복이 안돼서 찾아봤는데이 문제가 대표적인 DP 문제인 최장 공통 부분 수열이란다.DP는 나중에 천천히 공부하려고 했는데 털린 김에 좀 찾아봐야겠다. [문제 제약 조건]Java2초1024MB 1≤N≤3,0001≤M≤3,0001≤K≤1,000,000각 버튼의 번호는 1 이상 K 이하이다. [입력형식]첫째 줄에 N, M, K가 공백을 사이에 두고 주어진다.둘째 줄에 첫 번째 버튼 조작을 나타내는 N개의 정수가 공백을 사이에 두고 주어진다. 각 정수는 1 이상 K 이하이다.셋째 줄에 두 번째 버튼 .. 2025. 1. 27.
[Softeer - Lv. 3] 동계 테스트 시점 예측 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai얼음 내부의 공기 탐색이 좀 까다로웠던 문제.처음 생각은 탐색을 각 얼음의 인접 칸에 대해서 0일 경우내부 공기인지 외부인지 판단하도록 하려고 했는데판단 방법을 둘러싸인 얼음이 있는지 하려고 했다가 예외에 당했다.공기의 내외부 판단 말고는 그냥 간단한 2차원 배열 탐색문제이다. [문제 제약 조건]Java2초256MB 5 ≤ N, M ≤ 100격자 화면의 맨 가장자리에는 얼음이 놓이지 않는 것으로 가정한다. [입력형식]첫째 줄에는 격자 화면의 크기를 나타내는 두 개의 정수 N, M이 주어진다. 그 다음 N개의 줄에는 격자 화면 위에 얼음이 있는 부분은 1로 표시되고, 얼음이 없는 부분은 0으로 표시된다. 또한, 각 0과 1은 하나의 공백으.. 2025. 1. 27.
[Softeer - Lv. 3] 로봇이 지나간 경로 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai확실히 Lv 3부터는 너무 어렵다.엣지케이스를 최대한 헀다고 생각해도 런타임 에러가 뜨고소프티어 특성 상 큰 테스트 케이스 입력이 안돼서 머리로 해야한다....처음에는 최적 경로 구하기 -> 경로에 대한 커맨드 구하기이런 식으로 했는데 시간도 더 걸리고 런타임 에러가 나서바로 바로 커맨드 작성하는 방식으로 변경.이 문제도 4시간 정도 걸린 것 같다. [문제 제약 조건]Java1초1024MB * 5 ≤ H, W ≤ 25* 사수는 한 번 이상의 A 명령을 내렸다. 따라서, 로봇이 방문한 칸 수는 최소 3개 이상이다.* 로봇은 H행 W열의 2차원 격자판 위를 돌아다닌다. 격자판의 각 칸은 정사각형 모양이며, 로봇은 격자판의 칸 하나를 차지한다.. 2025. 1. 26.
[Softeer - Lv. 3] 함께하는 효도 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai진짜 어려웠다. 너무너무.문제가 지난 11월에 수정돼서 단순히 visited를 통한 백트래킹이 안된다.그냥 단순한 dfs라고 생각했다가 혼자 4시간을 썼다.진짜 벽 느낌.근데 풀고 나서 보니까 내가 아직 DFS에 대해 모자란 게 많다고 느꼈다.더 공부해야 할 거 같음.[문제 제약 조건]Java2초1024MB [조건 1] 2 ≤ n ≤ 20[조건 2] 1 ≤ m ≤ 3[조건 3] 1 ≤ 가능한 열매 수확량 ≤ 1,000친구들끼리 이동하는 도중 동시에 같은 사과나무에서 마주치는 경우에는 싸움이 일어날 수 있기 때문에 남우는 이와 같은 경우가 없기를 바랍니다. ★ ★ ★ ★ ★ ★   [입력형식]첫 번째 줄에 n과 m이 공백을 사이에 두고 주.. 2025. 1. 26.
728x90