WebBack/알고리즘(8)
-
[알고리즘] Stack을 이용한 올바른 괄호 확인
https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr import java.util.Stack;class Solution { boolean solution(String s) { boolean answer = true; Stack stack = new Stack(); try{ for(int i = 0; i Stack을 자꾸 인식하지 못해서 혹시나해서 import를 시도해봤는데 ..
2024.08.13 -
[알고리즘] 평균 구하기
더보기1단계 문제분석)위 문제는 배열과 리스트 중에 어느 것이 적합할까?-> 배열이 더 적합하다. 그 이유는 다음과 같다.1. 첫째 줄 입력을 통해 배열의 크기를 알 수 있다. (크기 고정) 2. 배열에 있는 데이터에 모두 접근을 해야한다. (접근 빠름) 입력값이 여러개면 어떻게 이를 인식해야할까?각 입력값은 " "을 사이에 두고 있다. split으로 나누어 배열에 저장할 수 있다. 오차 범위를 어떻게 줄일까?-> int가 아니라 float으로 숫자를 받았다. 더보기2단계 1) 첫번째 입력값을 받는다. (inputA)2) 두번째 입력값을 받는다. (inputB)3) 두번째 입력값을 split을 통해 배열로 만든다. (StrArr)4) 숫자가 들어갈 배열을 만든다. (floatArr)5) for문을 통해..
2024.07.17 -
[배열과 리스트] 숫자의 합 구하기
백준ㅣ11720번 더보기1단계 문제 분석) 위 문제는 배열과 리스트 중에 어느 것이 적합할까?-> 배열이 더 적합하다. 그 이유는 다음과 같다.1. 첫째 줄 입력을 통해 배열의 크기를 알 수 있다. (크기 고정) 2. 배열에 있는 데이터에 모두 접근을 해야한다. (접근 빠름) 숫자 입력은 어떤 타입으로 지정해야할까?-> 100자리까지 입력을 받는다. int는 약 10자리, long은 약 19자리를 저장할 수 있다. 100자리의 숫자를 넣으면 오버플로우가 발생한다(p.62). 더 많은 숫자를 담을 수 있는 String 타입을 사용할 필요가 있다. -참조: >, p.53 String의 값을 어떻게 더해야할까?-> String 타입으로 받은 뒤에 각 자리 숫자를 char로 전환하여 하나씩 더하면 된다. 다만..
2024.07.16 -
[알고리즘, 자료구조] 자연정렬된 키워드를 검색(Arrays.binarySearch)
알고리즘, 자료구조링크선형검색https://ycraah.tistory.com/18보초법https://ycraah.tistory.com/24이진검색https://ycraah.tistory.com/27Arrays.binarySearch를 이용한 이진검색https://ycraah.tistory.com/28 자연정렬이란?정렬에는 문자열 정렬과 자연 정렬이 있다. 문자열 정렬은 동일한 위치에 있는 문자의 대소를 비교하여 정렬을 한다. 반면에, 자연 정렬은 사람에게 더 자연스러운 정렬 방식을 말한다. ex) 문자열 정렬 : 텍스트1, 텍스트10, 텍스트100, 텍스트2, 텍스트21ex) 자연 정렬 : 텍스트1, 텍스트2, 텍스트10, 텍스트21, 텍스트100사용법은?Arrays.binarSearch(Object[]..
2024.06.24 -
[알고리즘, 자료구조] Arrays.binarySearch에 의한 이진검색
알고리즘, 자료구조링크선형검색https://ycraah.tistory.com/18보초법https://ycraah.tistory.com/24이진검색https://ycraah.tistory.com/27 binarySearch란?자바가 제공하는 배열에서 이진 검색을 하는 표준 라이브러리어떻게 사용하는가?static int binarySearch(배열, 검색값)-배열과 검색값은 자료형을 명시해야함결과는 어떻게 나오는가?1. key값과 일치하면 인덱스 반환2. key값과 일치하지 않으면 있어야 할 위치(삽입 포인트)를 추정할 수 있는 값을 음수로 반환장점은?1. 이진 검색 메서드를 직접 작성할 필요가 없음 2. 배열 요소의 자료형과 관계없이 검색 가능문제점은?이진검색과 마찬가지로 맨 앞에 있는 요소의 인덱스를 반..
2024.06.24 -
[알고리즘, 자료구조] 이진 검색
이진 검색이란?데이터가 오름차순 또는 내림차순으로 정렬된 배열에서 검색하는 알고리즘어떤 원리인가?1. 배열의 중앙의 요소(pc)를 기준으로 검색값과 비교 2. 중앙값이 key보다 크면 ? 중앙값~오른쪽 인덱스(pr) 사이의 중앙값을 기준으로 다시 검색값과 비교3. 중앙값이 key보다 작으면 ? 왼쪽 인덱시(pl) ~ 중앙값 사이의 중앙값을 기준으로 다시 검색값과 비교*비교 횟수의 평균값은 log n으로 검색이 훨씬 빠름 작동 원리: 1. 요솟값을 입력받아 빈 배열을 만든다. //요솟값을 입력받는다.Scanner sc = new Scanner(System.in);System.out.print("요솟수(1에서 999까지 입력가능합니다) : ");int n = sc.nextInt();//요솟수만큼의 길이를 ..
2024.06.22