알고리즘

반응형
Computer Science/JAVA알고리즘

[Programmers/Java]프로그래머스 연습문제 - H-dex

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제조건 문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 ..

Computer Science/JAVA알고리즘

[Programmers/Java]프로그래머스 연습문제 - 연속 부분 수열 합의 개수

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용 문제 설명 철호는 수열을 가지고 놀기 좋아합니다. 어느 날 철호는 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇 가지인지 알아보고 싶어졌습니다. 원형 수열이란 일반적인 수열에서 처음과 끝이 연결된 형태의 수열을 말합니다. 예를 들어 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 다음과 같습니다. !https://grep..

Computer Science/JAVA알고리즘

[Programmers/Java]프로그래머스 연습문제 - 구명보트 (그리디 Greedy 알고리즘)

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제조건 . 풀이(성공) 일단 이 문제는 Greedy (탐욕 알고리즘)을 이용해서 풀어야 하는 것 같았다. 나는 탐욕법에 대하여 전혀 모르고 있기 때문에.. 이를 이해하기 위해 검색을 실시했다. 탐욕 알고리즘(Greedy)이란, 무언가를 선택해야할때(탐색해야할때) 눈 앞의 최적의 상황만 찾아서 답을 찾는 방법이다. 문제 해결 방법은 다음과 같다. 1. 선택 - 현재 상태에서 최적의 해답을..

Computer Science/JAVA알고리즘

[Programmers/Java]프로그래머스 연습문제 - 짝지어 제거하기

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 조건 문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해..

Computer Science/JAVA알고리즘

[Programmers/Java]프로그래머스 연습문제 - 피보나치수

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 조건 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 ..

Computer Science/JAVA알고리즘

[Programmers/Java]프로그래머스 연습문제 - 다음 큰 숫자

문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 조건 문제 설명 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010..

Computer Science/자료구조

빅오 표기법(big-O notation)

알고리즘의 시간복잡도,공간복잡도 를 나타낸다. * 참고로 알고리즘의 복잡도는 시간복잡도와 공간복잡도가 있다. 더보기 시간복잡도 소스코드의 실행 시간을 예측하여 얼마나 효율적인지 나타낸다. 실행 시간은 연산에 비례한다. 공간복잡도 코드가 메모리공간을 얼마나 효율적으로 쓰는지를 나타낸다. 공간을 미리 확보해야하는 자료구조에 쓰인다. 시간복잡도의 세가지 표기법 Big-O(빅-오) : 최악의 경우 Big-Ω(빅-오메가) : 최선의 경우 Big-θ(빅-세타) : 평균의 경우 이중 우리는 최악의 경우를 생각하여 알고리즘의 시간 복잡도를 나타낸다. 최선의 경우와 최악의 경우가 차이가 많이 나는 경우도 있기 때문. 빅오 표기법의 종류 1. O(1) Constant 입력값이 아무리 커도 실행 시간은 일정하다. ex ) ..

반응형
유경(shin-6-0)
'알고리즘' 태그의 글 목록