728x90
반응형

C++ 5

[프로그래머스] 전화번호 목록 : C++

풀이 문제 : 프로그래머스 코딩테스트 고득점 Kit - 해시 level2 : 전화번호 목록 풀이 언어 : C++ 알고리즘 : 정렬 문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제요약 전화번호가 주어지는데, 하나의 전화번호가 다른 하나의 접두어가 된다면 false를 리턴하게 해야한다. 접근 방식 2중 for문을 이용해 확인할수도 있겠지만, 주어진 전화번호 배열을 정렬 후, for문 한개 앞뒤 번호를 비교하는 것이 효율적이다. 코..

[프로그래머스] 완주하지 못한 선수 : C++

풀이 문제 : 프로그래머스 코딩테스트 고득점 Kit - 해시 level1 : 완주하지 못한 선수 풀이 언어 : C++ 알고리즘 : 정렬 문제링크 :https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제요약 participant 과 completion 배열이 주어지는데 participant에는 있지만 completion에는 없는 한명의 이름을 출력하는 문제이다. 접근 방식 처음엔 단순히 2중 for문으로 비교하면 될거라고 생각했지만, 선수 수가 1..

[백준] 1463번: 1로 만들기 / C++

풀이 문제 : 백준 1463번 : 1로 만들기 풀이 언어 : C++ 알고리즘 : DP 문제링크 : https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 요약 접근 방식 가능한 연산이 세가지 뿐이니까 세가지 연산을 모두 해보고 횟수가 가장 적은 것을 누적하며 구하고자 하는 값까지 찾아올라가는 방식으로, dp 알고리즘을 사용했다. 코드 #include #include using namespace std; int dp[1000000]; int main() { dp[1] = 0; dp[2] = 1; dp[3] = 1; int n; cin >> n; for (int ..

알고리즘/백준 2022.05.04

[백준] 2724번: 기찍 N - 시간초과 / C++

풀이 문제 : 백준 9095번 : 1,2,3 더하기 풀이 언어 : C++ 문제링크 : https://www.acmicpc.net/problem/2742 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 요약 문제는 겁나 쉽다. 시간초과 겁나 쉬운 문제가 시간초과가 났다.. 시간초과난 코드는 다음과 같다 #include #include using namespace std; int main() { int x; cin >> x; for (int i = x; i > 0; i--) { cout x; for (int i = x; i > 0; i--) { cout

알고리즘/백준 2022.05.01

[C++] string 내장 함수 : find, npos, substr, erase, to_string, stoi, isdigit, isalpha, tolower/toupper

글쓴이는 코딩테스트를 위한 준비로 C++ 공부를 하고 있으며, 다음 내용은 글쓴이가 자주 헷갈리는 string 함수만 정리해 놓은 것임을 알립니다! 앞으로 이야기할 함수들은 모두 헤더파일 string에 있는 아이들이다. #include .find() int findPos = input.find(cmp,pos); pos의 위치부터 cmp 문자열을 찾아서 발견 index값을 리턴해주는 메서드다. cmp("123")가 temp에 몇개 있는지 세는 알고리즘이다. string temp = "12345671234567"; string cmp = "123"; int cnt=0; int pos=0; while(1){ int findPos = temp.find(cmp,pos); //pos값이 계속 바뀌면서 cmp를 찾는..

알고리즘 2022.04.07
728x90
반응형