본문 바로가기

알고리즘19

자바 - 프로그래머스 / 전화번호 목록 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr lv2 구현 방법 조건 - phone_book의 길이는 1 이상 1,000,000 이하입니다. - 각 전화번호의 길이는 1 이상 20 이하입니다. - 같은 전화번호가 중복해서 들어있지 않습니다. 효율성 테스트 실패 방법 1. phone_book을 문자열 길이 오름차순으로 정렬한다. 시간복잡도 - 평균 : O(nlog(n)) / 최악 : O(n^2) 2. phone_book 문자열 하나와 그 외 p.. 2023. 5. 28.
자바 - 프로그래머스 / [1차] 뉴스 클러스터링 https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr lv 2 구현 방법 1. string 입력값을 모두 소문자로 바꾼다. 2. string 입력값을 두개씩 끊어서 Map형식으로 받는다. String = 두개씩 끊은 입력값, Integer = 두개씩 끊은 입력값의 개수 2-1. 두개씩 끊은 값중에서 알파벳을 제외한 문자나 숫자가 있을 경우 공백으로 만든다. 2-2. 2-1에서 string 길이를 비교해서 2보다 작으면 Map에 넣지 않는다. (순수 .. 2023. 5. 26.
자바 - 프로그래머스 / 연속 부분 수열 합의 개수 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr LV 2 구현 방법 3 ≤ elements의 길이 ≤ 1,000 1 ≤ elements의 원소 ≤ 1,000 삼중 포문까지 가능하고, 자료형은 int 써도 된다. 원형 수열을 구현 하는 방법은 "% 배열의 길이"를 이용하면 된다. 1. 삼중 포문 사용 첫번째 포문 - 더할 원소 개수 두번째 포문 - 더할 원소의 시작 인덱스 세번째 포문 - 연속된 합을 구현하기 위해 하지만 현재 문제로는 런타임 .. 2023. 5. 20.
자바 - 프로그래머스 / 짝지어 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr LV 2 구현 방법 문자열의 길이 : 1,000,000이하의 자연수 조건을 통해 시간 복잡도를 고려하여 구현해야 한다. ArrayList로 구현 할 경우, remove() 함수가 O(n)의 시간 복잡도를 가지고, 두 짝을 찾는데에도 O(n)을 가지므로 총 O(n^2)의 시간복잡도를 가지게 된다. 이런 경우, 시간초과가 발생한다. 또한 LinkedList로 구현 할 경우, remove() 함수는 O.. 2023. 5. 5.