일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 알고리즘
- 다이나믹프로그래밍
- map
- 정렬
- 에라토스테네스의 체
- priority_queue
- 백준
- 분할정복
- 깊이우선탐색
- DP
- 그래프
- 이분탐색
- 우선순위큐
- 오블완
- DFS
- 배열
- Sort
- stoi
- vector
- 최소공배수
- 프로그래머스
- BFS
- 문자열
- C++
- 백트래킹
- Set
- int
- 티스토리챌린지
- 유클리드호제법
- N과M
- Today
- Total
목록전체 글 (220)
안녕 세상아,
https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 작은 수들 위주로 모여야 최대로 예산 지원을 해줄 수 있기 때문에 정렬한다. 2. d[0]부터 빼면서 만약 budget값이 0보다 작으면 break 한다. 3. break 당하지 않으면 answer++ 해준다. #include #include #include #include #include using namespace std;int solution(vector d, int budget) { ..
https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr처음으로 챗지피티씨를 사용해서 풀어보았다..ㅋㅋ분명 내가 한게 맞다고 생각했는데 하나씩 자꾸 틀리길래..근데 진짜 좋은게 내가 어디가 잘못됐고 뭐가 문제인지 자세히 알려주고 다른 방법으로도 알려주고,,역시 챗지피티는 천재야 암튼 푼 방법1. 우선 숫자를 2진수로 바꿔주기 위해 함수를 따로 만든다. 1-1. n이 0일 경우 예외를 둬서 예외처리를 해준다. 1-2. n이 0이 될때까지 나머지를 더하고..
벡터에서 간단하게 중복을 제거하는 방법이 있다. sort의 erase와 unique를 사용하면 된다. 이를 사용하기 위해서는 헤더에 algorithm을 추가해주면 된다. 벡터 하나를 만든 후 중복 숫자를 벡터에 삽입한다. #include#include#includeusing namespace std;vector s;int main(){ s.push_back(1); s.push_back(2); s.push_back(1); s.push_back(3); s.push_back(2); s.push_back(1); s.push_back(2); for(int i=0;i이후 unique를 사용하면 그대로 1 2 1 3 2 1 2 이렇게 나온다. 왜? 이유는 unique는 연속된 중복 원소를 vector의 제일 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 만약 주어진 arr[i]가 arr[i-1]와 같으면 continue해서 넘어간다. 2. 같지 않으면 answer.push_back(arr[i-1]) 을 한다.3. 이렇게 되면 마지막 arr이 들어가지 않으니까 마지막에 추가해준다. 아래와 같은 코드가 나오는데 쓸데없이 복잡한 느낌 ㅎ...찾아보니까 unique erase 사용해서 한줄로 끝내는 코드가 있더라구.. #include #include ..
https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. check값을 bool 형태로 선언한다. 이는 첫 문자인지 아닌지 판별하기 위해 사용하는 변수이다. 2. 빈칸을 만났을 때 그 다음 문자는 첫문자이기 때문에 check를 true로 바꿔주고 지속해준다. 3. 빈칸을 만나지 않았을 때는 첫문자인지 아닌지 구별한다. 3-1. check가 true 일 때는 toupper 함수를 사용하여 해당 문자를 대문자로 바꿔준다. 3-2. check가 false..
https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr최대공약수, 최소공배수 구하는 방법은 유클리드 호제법을 사용하면 된다. 1. a, b, c 변수를 만든 후 우선 최대공약수를 구한다. 2. 최대공약수와 최소공배수의 관계를 생각해서 최소공배수를 구한다. #include #include using namespace std;vector solution(int n, int m) { vector answer; int c; int a = n; ..
https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 전에도 풀었던데..다시 적어본다. 1. 가장 작은 값을 만드려면 (가장 큰 값 * 가장 작은 값) 을 더한다. 2. 그러기 위해 sort를 사용한다.3. greater()을 사용하여 내림차순으로 정렬한다. 4. 다 더하면 끝#include #include #include using namespace std;int solution(vector A, vector B){ int answer = 0;..
https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. stack 하나 만듬2. for문 돌리면서 s[i]가 '(' 일 때, ')' 일 때 나눠서 생각하기3. 만약 s[i]가 '(' 라면 stack에 push4. 만약 ')'라면 두가지 경우로 나눠서 생각하기 4-1. stack이 비어있거나 stack.top()이 ')' 일 때는 answer값을 false로 하고 끝낸다. 4-2. 위의 경우가 아니면 맨 위의 값을 삭제5. 만약 stack이 비어있지 않..
https://school.programmers.co.kr/learn/courses/30/lessons/12969 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krㅋㅋㅋ걍 아무생각 없이 풀었던 그냥 진짜......되는대로 푼 방법...매우 좋지 않아요...#include using namespace std;int main(void) { int a; int b; cin >> a >> b; for(int i=0;i 이게 더 올바른 방법 같다..#include using namespace std;int main(void) { int a; ..
https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 정수를 넣을 vector를 하나 만든다. 2. 마이너스가 있을 수 있기 때문에 string으로 변수를 하나 더 만든다. 3. 정수들이 띄어쓰기로 구분되어있기 때문에 띄어쓰기를 만나게 되면 그 전에 저장되어있던 str를 stoi로 정수로 바꾼 후 vector에 삽입한다. 4. 정수를 vector에 이미 넣었으니 str을 clear 해준다. 5. 띄어쓰기를 만나지 않으면 str에 다 추가해준다. 6...