본문 바로가기

CODING TEST55

[Java] 문제 008번 (백준 1253번) 문제좋다 (1253번)이해하기내 풀이도 접근법은 맞음. 그러나 이를 구현하는 데서 예외 처리나 변수 초기화가 매끄럽지 못해 틀렸을 뿐나중에 다시 풀면서 내가 제대로 이해했는지 테스트해봐야 함 내가 놓친 예외 케이스는 다음과 같다.교재 설명으로는 정렬된 데이터에서 자기 자신을 좋은 수 만들기에 포함하면 안 된다. 이 점을 예외로 처리해야 한다고 하네교재 풀이 중 주석으로 find는 서로 다른 두 수의 합이어야 함을 체크라고 나온다. 그 다음에 아래 코드 부분이 나온다. //chat gpt 코드 중while (si  위 문제도 그렇지만, 이 외에도 내가 놓친 무언가가 계속 있다는 느낌이 든다.이런 예외처리 문제가 아니라, 그냥 내 코드가 바보라서 일반적인 케이스에서도 오류를 내는 것 같은 느낌을 지울 수 없.. 2024. 5. 27.
[Java]문제 007번 (백준 1940번) 문제 주몽 (1940번) 내 풀이import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { // 갑옷을 만드는 재료들은 각각 고유한 번호를 가지고 있다. // 갑옷은 두 개의 재료로 만드는데 두 재료의 고유한 번호를 합쳐서 M(1 ≤ M ≤ 10,000,000)이 되면 갑옷이 만들어 지게 된다 // m은 두 개의 수의 합으로 표현되어야 한다. 2+7처럼 // 한 번 쓴 재료는 다시 못 쓰니 않나? 애초에 2로 m을 만들 수 있는 수는 딱 하나로 정해져 있음. m이 9라면 2는 무조건 7이.. 2024. 5. 24.
[Do it 코테 자바편] 투 포인터 설명 [Java] 문제 006(백준 2018번)문제수들의 합 5 (2018번) 풀이import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int count = 1; int start_index = 1; int end_index = 1; int sum = 1; whilperson-do-my-best.tistory.com 대표적인 유형이 006번이니, 이 문제 풀이나 접근법을 기준으로 삼고 개념으로 삼기startIndex와 endIndex가 각각 n번 훑으니 시간 복잡도는 2n이다 -> 이 때 상수는 무시하.. 2024. 5. 24.
[Java] 문제 006(백준 2018번) 문제수들의 합 5 (2018번) 풀이import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int count = 1; int start_index = 1; int end_index = 1; int sum = 1; while (end_index != N) { if (sum == N) { //sum == N -> End index++; sum = sum + End index; count++; count++; en.. 2024. 5. 24.
[Do it 코테 자바편] 구간 합 설명 구간 합? a 배열에서 2~7번째 인덱스 값의 합을 구해란 것처리하기 쉽게 a 배열을 가지고 합 배열 s를 만들어 보는 거다.합 배열? 즉 s[4]가 a[0] + a[1] + a[2] + a[3] +a[4]가 되도록 만드는 배열즉 s[4]는 a[0]부터 a[4]까지 합한 값이 된다.왜 필요? 그야 구간 합을 자주 물어보면 a 배열로 일일이 반복문 돌려서 하면 느리니까.합 배열 만드는 법? s[0]은 a[0]으로 초기화 후, 그 다음부턴 s[i] = s[i-1] + a[i]하면 됨. 즉 s[4] = s[3] + a[4]합 배열로 구간 합 구하는 법? a[2] ~ a[5]의 합 => s[5] - s[1]왜? s[5]는 a0부터 a5까지의 합, s[1]은 a0부터 a1까지의 합 => 두 개를 빼면 a2+.. 2024. 5. 18.
[Do it 코테 자바편] 배열과 리스트 리스트 구현은 거의 안 나옴 => ArrayList, LinkedList 사용하면 됨크기 고정될 때, 접근 많을 때 => 배열인덱스로 바로 접근 가능하니단점: 삽입과 삭제는 귀찮고 어려움크기 변할 때, 삽입과 삭제 많을 때 => 리스트그냥 포인터만 조절하면 되니단점: 접근을 순차적으로 일일이 해야 해서 느림 관련 문제 [Java] 문제 001(백준: 11720번)문제숫자의 합 구하기(Baekjoon: 11720번)풀이import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // String 변수로 받아 문.. 2024. 5. 17.
ide 못 쓰는 코테, 문제 풀 때 쓰는 일련의 흐름 | 코테 준비 개략적으로 내가 읽은 블로그 글 코딩 테스트 준비하기1. 언어 선택하기 가장 편한 언어, 직군 관련 언어, 서브 언어로 나눠서 나에게 어떤게 더 맞는지 하나씩 따져보기 ex) 1. 가장 편한 언어? : kotlin, python 2. 직군 관련 언어? : kotlin 3. 서브 언어? : pythojslee-tech.tistory.com 지금 코테 문제 풀 때 쓰는 일련의 흐름문제 풀기 전에 접근 방법을 생각하라고 한다. => 수도 코드처럼 자연어로 틀 잡고 하면 될 듯하다.Main 클래스에 다 풀지 마라. 함수별로 나눠서 풀어라디버깅은 구식이지만 프린트문을 활용하면 된다.준비법ide에 익숙해지면 자동완성 기능에 의존하게 된다. 그러니 온라인 플랫폼에서 푸는 연습 많이 해라반년 정도 투자한다고 생각하면 편하다 (하.. 2024. 5. 16.
[Do it 코테 자바편] 디버깅 영상에선 디버깅할 때, ide를 활용하는 걸 전제로 말하고 있다.중단점 여러 개 찍고ide 디버깅 기능으로 한 줄씩 실행해보거나, 다음 중단점까지 실행 가능하며변숫값도 추적 가능하며내가 원하는 수식 입력해서 흐름을 파악 가능하다.그러나 코테에선 ide를 막는 경우가 많다고 한다. 프로젝트 할 게 아니라 알고리즘과 자료구조만 보는데, 필요하냐는 거란 논리인가. 흔하게 일어나는 오류 4가지자료형 범위 오류: (제일 많이 나에게 시련을 준...) 그냥 int 대신 long형을 써라.오버플로우로 고민했던 적이 지금도 기억에 남는다. 처음엔 굳이 불필요한 메모리를 쓰면 뭔가 멋이 안 난다. 그리고 면접관이 나에게 불필요하게 int 써도 되는데 long을 쓰냐고 묻는 상상을 하니 더더욱 수의 범위에 알맞게 자료형도.. 2024. 5. 16.