본문 바로가기
반응형

컴퓨터/알고리즘25

[Java] 백준 1253 좋다 (자료구조1,투포인터) https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net [문제분석] 주어진 연속된 수를 더하며 문제를 풀어야 하므로 투포인터 사용 + 입력값(도달해야 할 값) 이 계속 변하는 문제 [진행순서] 1. 투포인터 로직 작성 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokeniz.. 2023. 10. 2.
[Java] 백준 11660 구간 합 구하기 5 (자료구조1,구간합/합배열) https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net [문제분석] 특정 인덱스 구간의 2차원 배열 데이터들을 전부 더해야 하므로 합배열을 이용한 구간 합 알고리즘을 사용해야 한다. [진행순서] 1. 배열크기, 문제개수 입력받기 2. 입력받았던 배열 크기만큼 2차원 배열 데이터 입력하기 3. 입력한 배열로 2차원 합 배열 구하기 3. 입력받았던 문제 개수만큼 2차원 구간합 출력 import java.io.Bu.. 2023. 9. 22.
[Java] 백준 11659 구간 합 구하기 4 (자료구조1,구간합/합배열) https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net [문제분석] 특정 인덱스 구간의 배열 데이터들을 전부 더해야 하므로 합배열을 이용한 구간 합 알고리즘을 사용해야 한다. [진행순서] 1. 데이터개수, 문제개수 입력받기 2. 입력받았던 데이터 개수만큼 합배열 선언 3. 입력받았던 문제 개수만큼 구간합 출력 import java.io.BufferedReader; import java.io.IOException; import j.. 2023. 9. 1.
[Java] 백준 11720 숫자의 합 (자료구조1) https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net [문제분석] - 입력 중심으로 분석한다. 숫자 개수가 1부터 100개이기 때문에 숫자형 자료형 사용 불가. [진행순서] 1. 첫번째 숫자개수 입력받기 2. 두번째 숫자 String 으로 입력받기 3. 두번째 숫자를 char[] 에 넣기 -> int[] 안쓰는 이유는 toCharArray 쓰려구.. 4. [] 길이만큼 반복해서 더하고 출력하기 [문제풀이] import java.util.Scanner; public class Main { /* * [백준 11720] * 문제: N개의.. 2023. 8. 31.
[Java] 선형검색 보초법 자바 코드 예시 알고리즘 보초법(Sentinel Search) 보초(sentinel)라는 특별한 값을 사용하여 검색 성능을 개선하는 방법. 보초값 찾아야 하는 값 보초법 구현 방법 배열의 마지막 요소에 임시로 보초값을 추가하고 검색을 마친 후에 배열을 원래 값으로 복원하는 방식으로 이루어짐 + 자바같은 경우는 배열 길이를 늘릴 수 없기 때문에 (ArrayList 로 구현하는 방식 제외) 기존 끝 값을 보초값으로 변경 -> 탐색 -> 다시 원래 배열로 돌리는 방식으로 탐색 보초법 구현 순서 1. 보초값 설정 (찐배열 > 짭배열) 2. 짭배열에서 찾을 값 찾아서 위치 저장 3. 찾을 값 찾으면 배열 돌려놓기 (짭배열 > 찐배열) 4. 위치 찾았는지 판단 코드 예시 import java.util.Scanner; public .. 2023. 8. 12.
[Java] 선형 검색 알고리즘 예시 코드(linear search) import java.util.ArrayList; import java.util.Scanner; public class LinearSearch { public int 인덱스알려줌(ArrayList 배열, int 찾을값){ for (int i = 0; i 2023. 8. 12.
[백준] 17478번 재귀함수가 뭔가요? 문제풀이 (python) 문제 링크 https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net python 풀이 def 재귀가모임(m): print("_" * (4 * (a - m)) + '"재귀함수가 뭔가요?"') # if not m: if m == 0: print("_" * (4 * (a - m)) + '"재귀함수는 자기 자신을 호출하는 함수라네"') print("_" * (4 * (a - m)) + "라고 답변하였지.") return print("_" * (4 * (a -.. 2022. 8. 6.
[재귀함수] 재귀함수 뜻과 python예시, maximum recursion depth 스택 구현 (1) 재귀함수 Recursion Function 재귀함수가 모냐면은 자기 자신을 다시 호출하는거에여 재귀함수 예시 이게 대표적인 재귀함수에여 def 재귀함수(): print('재귀인거시야') 재귀함수() 재귀함수() 재귀함수 안에 재귀함수가 있죠 파이썬은 기본적으로 최대 재귀 깊이 제한이 있어서 중간에 막혀여 오류뜬다는 소리져 오류가 왜뜨냐면 바닥이 드러나서입니당 count 로 몇번만에 바닥이 드러나는지 확인해보께여 count = 0 def 재귀(): global count print(count, '번째 재귀인거시야') count += 1 재귀() 재귀() 997번째에서 나네여 (0부터 시작합니당) RecursionError: maximum recursion depth exceeded while calling.. 2022. 8. 5.
반응형