사이트명 정올 문제 링크 jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1775&sca=2050 주요 알고리즘 #문자열탐색 사용 언어 Java 자바 설명이 장황합니다.. 도움되는 것만 파악하세요 :-) 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 타겟이 되는 문자열을 char[] 배열에 넣고, 그 갯수만큼 추가로 for문을 돌면서 맞는지 체크한다! 여기선 KOI, IOI 둘다 O I 여서 그냥 target 배열 하나만 만들어서 2회만 돌렸다. 다만, 맞을 때마다 i 값을 증가시키고, 아니라면 temp에 저장한 인덱스 값으로 원상복귀 시킨다! 그리고, 문자열이 맞다면 i 값을 하나 줄여서 다시 그 자리부터 체크하도록 한다. 다만, 마지막 문자가 I 혹..
사이트명 정올 문제 링크 jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=944&sca=2060 주요 알고리즘 탐색, BFS, DFS 사용 언어 Java 자바 설명이 장황합니다.. 도움되는 것만 파악하세요 :-) 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 둘레 구하는 공식은 평행 사변형이나 정사각형 처럼 일반적인 도형에나 있지, 복잡한 형태는 없다. 따라서 이 문제는 그래프에서 표현되는 도형 특성상 주위를 둘러싸는 녀석들은 카운팅하면 구할 수 있다는 특징을 캐치해야 한다. 배열에 수를 채워넣고, 주위에 아무것도 없는 것들을 조사하여 그 수를 세는 식으로 하면 된다. 3-2. 변수명 변수명 설명 dx dy 사방 탐색을 위한 int[][] paper 겹..
사이트명 정올 문제 링크 jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=706&sca=2030 주요 알고리즘 #수학 사용 언어 Java 설명이 장황합니다.. 도움되는 것만 파악하세요 :-) 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 A, B, C의 곱을 String으로 변환한다. 해당 문자열을 toCharArray()를 통해 char배열에 넣는다. 하나씩 값을 보며 해당 정답 변수의 개수를 카운팅한다. 끝. 🌟 중요 1. String과 int 서로간의 형변환 String -> int Integer.parseInt(문자열); int -> String Integer.toString(숫자); char -> int char 문자 - '0'; 중요한 건, ..
사이트명 정올 문제 링크 jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=931&sca=2030 주요 알고리즘 #수학 사용 언어 Java 설명이 장황합니다.. 도움되는 것만 파악하세요 :-) 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 최대공약수 GCD : 두 수의 약수 중에서 가장 큰 수 최소공배수 LCM : 두 수의 배수 중에서 가장 작은 수 우선, 최대공약수는 유클리드 호제법과 for문으로 처음부터 찾는 방식이 있다. - 유클리드 호제법은 나머지연산(%)을 활용하는 것으로, 나머지가 0이 될 때까지, 나머지와 그 전 수를 계속 나누는 방식이다. - 노동으로 찾는 방법은 1부터 N까지 나누었을 때, 두 수 모두 나머지가 0이 되어 약수가 되는 수를..
사이트명 정올 문제 링크 jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=767&sca=2020 주요 알고리즘 #구현 사용 언어 Java 설명이 장황합니다.. 도움되는 것만 파악하세요 :-) 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 행(= 커서)이 바뀌는 걸 바깥 for문으로 안에 하나씩 증감하며 옮기는 줄 부분은 c라는 변수로 횟수 카운트! 배열에 접근하는 변수 [i][j] 를 변수값의 변화에 따라 접근시킬지 맨 처음엔 1번, 그담엔 2번, 3번 ... 하는 횟수에 따라 접근시킬지를 정해야 한다..? 3-2. 변수명 type 변수명 설명 int[][] arr 결과값 int text 내부에 숫자를 기록하기 위한 변수 int cnt 몇 번 째로 체크..
사이트명 정올 문제 링크 jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=914&sca=2020 주요 알고리즘 #for #구현 사용 언어 Java 설명이 장황합니다.. 도움되는 것만 파악하세요 :-) 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 2번과 3번의 경우, 시작 점이 어디인지를 파악하고 그 후에 몇 회 실행시키는지를 결정한다. 둘다 시작점이 (0,0) -> (1,1) -> (2,2) -> ... 이고, 그 때를 기준으로 5회 -> 3회 -> 1회 식으로 줄어든다. 이걸 카운트하기 위해, for문 안에 int c를 선언해서 사용한다. 3-2. 변수명 type 변수명 설명 int[][] arr 결과값을 넣는 배열 -> 나중에 출력해서 최종 정답 ..
사이트명 정올 문제 링크 jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=2074&sca=20 주요 알고리즘 #for #구현 사용 언어 JAVA 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 1. 어떤식으로 문자가 입력되는지 순서 파악이 중요 2. 순서대로 좌표를 입력하다 보면, 특정한 규칙이 보임 3. 해당 규칙대로 하였을 때, 어떻게 2차원으로 표현할지 고민 4. char[][] 의 기본값은 없다! 따라서, 공백으로 초기화를 해줘야 한다. 5. 알파벳을 65부터 숫자대로 안넣으면, 배열에 하나씩 다 넣어줘야 한다... 끔ㅈ찍.. 3-2. 변수명 변수명 설명 int text 대문자 A 를 유니코드로 하면 65 / Z는 90이다. 즉 65부터 (char..