본문 바로가기

알고리즘53

[C++] [프로그래머스] H-Index 🚀 들어가며... "레벨 2"의 문제이다. 아주 쉬운 문제는 아닌데, 생각을 깊게 해보면 아주 쉽게 풀 수 있는 것 같다. 🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 📑 내용 문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같.. 2022. 5. 16.
[백준 1181] 단어 정렬 🚀 들어가며... "실버 5"의 쉬운 문제이다. 입력되는 문자열을 정렬하면 된다. 조건은 아래와 같다. (중복 불가능) 길이가 짧은 것부터 길이가 같으면 사전 순으로 🔗 문제 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 📑 내용 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (.. 2022. 5. 16.
[백준 1920] 수 찾기 🚀 들어가며... 실버 4 문제로 쉬운 문제이다. 입력 받은 배열1에 배열2의 요소가 존재하는지 체크하는 문제이다. 속도 문제로, 이진 탐색을 사용했다. 🔗 문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 📑 내용 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤.. 2022. 5. 16.
[백준 17299] 오등큰수 (cpp, stack, array) 🚀 들어가며... 오른쪽에 존재하면서 등장횟수가, 현재 숫자보다 큰 수 중에서 가장 왼쪽에 있는 수가 오등큰수이다. 이 오등큰수를 출력하라. // 예시 7 입력 : 1 1 2 3 4 2 1 등장횟수 1:3 2:2 3:1 4:1 출력 : -1 -1 1 2 2 1 -1 🔗 문제 https://www.acmicpc.net/problem/17299 17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 📑 내용 입력배열과 정답배열을 따로 두었다. 그리고 입력의 갯수가 1,000,000개로 제한이 되어 있으며 그 범위도 1,000,000까.. 2021. 12. 19.
[백준 10799] 쇠막대기 (cpp, stack) 🚀 들어가며... stack에 '('인 경우의 인덱스를 저장하여 문제를 해결 할 수 있다. 🔗 문제 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 📑 내용 case 1 : 쇠막대기가 추가되는 경우 "("이 입력되어 쇠막대기 추가되는 경우이다. (stack.push(i)) case 2 : 레이저인 경우 ")"이 입력되었으며, 이전의 입력이 "("인 경우는 레이저이다 ( ans += stack.size()) case 3 : 레이저가 아닌 경우 ")"이 입력.. 2021. 12. 19.
[백준 17413] 단어 뒤집기 2 🚀 들어가며... 스택을 사용하여 문제를 풀이하였다. 모든 문자열을 뒤집는다. ("" 사이에 존재하는 문자열은 제외) stack : 뒤집을 문자가 들어갈 공간 ans : 결과 문자열 🔗 문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 💌 소스코드 #include #include #include using namespace std; // 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), .. 2021. 12. 19.