[프로그래머스][Level1] 자릿수 더하기 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 자연수 n을 string으로 바꾸고 각 자리수에 '0'을 빼줘서 문자를 숫자로 만든다. 숫자로 만든 것들을 반복문을 돌려 합을 구해준다. #include using namespace std; int solution(int n) { int answer = 0; string str = to_string(n); for(int i = 0; i < str.size(); i++){ answer += str[i]..
[프로그래머스][Level1] 이상한 문자 만들기 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 공백이 나오면 cnt를 0으로 만들어주고, 알파벳이 나오면 cnt값에 따라 대문자를 소문자로 바꿀지, 소문자를 대문자로 바꿀지 판단한다. #include #include using namespace std; string solution(string s) { string answer = ""; int cnt = 0; for(int i = 0; i < s.size(); i++){ if(s[i] == ' ..
[프로그래머스][Level1] 약수의 합 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 약수를 구하는 알고리즘의 기본 문제이다. #include #include using namespace std; int solution(int n) { int answer = 0; for(int i = 1; i
[프로그래머스][Level1] 약수의 개수와 덧셈 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 이중 for문을 돌려 i값을 1 ~ i로 나눈 값이 0이면 약수라는 뜻이다. cnt로 약수의 개수를 구해 개수가 짝수면 더해주고, 홀수면 빼주는 식으로 구현했다. #include #include using namespace std; int solution(int left, int right) { int answer = 0; for(int i = left; i
[프로그래머스][Level1] 수박수박수박수박수박수? c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12922 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 n이 짝수이면 n / 2만큼 "수박"을 문자열에 더해주면 되고, 만약 홀수이면 n / 2만큼 더해준 문자열에 "수"만 더하면 된다. #include #include using namespace std; string solution(int n) { string answer = ""; int cnt = n / 2; while(cnt--) answer += "수박"; if(n % 2 == 1) answer..
[프로그래머스][Level1] 소수 찾기 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 이 문제는 에라토스테네스의 체 알고리즘을 활용하는 문제이다. 효율성 테스트를 넘어가기 위해서 소수 찾기 문제들은 다 에라토스테네스의 체를 사용해야 하는 것 같다. 풀이 1 #include #include #include using namespace std; const int NUM = 1000001; int prime[NUM]; void PrimeNum(){ for(int i = 2; i
[프로그래머스][Level1] 서울에서 김서방 찾기 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 Kim과 일치하는 값이 있으면 index값을 idx에 저장해준다. #include #include using namespace std; string solution(vector seoul) { string answer = ""; int idx; for(int i = 0; i < seoul.size(); i++){ if(seoul[i] == "Kim") idx = i; } answer += "김서방은 ..
[백준] 3665 최종 순위 c++
·
🍞 Problem Solving/Baekjoon
https://www.acmicpc.net/problem/3665 3665번: 최종 순위 올해 ACM-ICPC 대전 인터넷 예선에는 총 n개의 팀이 참가했다. 팀은 1번부터 n번까지 번호가 매겨져 있다. 놀랍게도 올해 참가하는 팀은 작년에 참가했던 팀과 동일하다. 올해는 인터넷 예선 본부에 www.acmicpc.net 풀이과정 문제에서 작년 순위를 주고, 순위가 바뀐 모든 팀의 정보를 주었으므로, 확실한 순위를 모르는 경우인 "?"인 경우는 없다. adj[a][b] = true : a팀 다음에 b팀 indegree[x] : x 앞에 와야 하는 팀 개수 #include #include #include #include #include #include using namespace std; int T, n, m..
[백준] 14676 영우는 사기꾼? c++
·
🍞 Problem Solving/Baekjoon
https://www.acmicpc.net/problem/14676 14676번: 영우는 사기꾼? 프로그램의 입력은 표준 입력으로 받는다. 입력의 첫 줄에는 건물 종류의 개수 N, 건물 사이 관계의 개수 M, 영우의 게임 정보의 개수 K가 주어진다.(1 ≤ N, M, K ≤ 100,000) 다음 줄부터 M줄에 걸쳐 www.acmicpc.net 풀이과정 이때까지 풀었던 문제 유형들과는 다른 느낌이었다. 위상 정렬 함수를 만들지 않고 main함수 안에서 하려고 하니 더 어렵게 느껴졌다. 일단 입력을 M번 받아놓고 화살표 간선끼리 연결해주며 진입 차수도 플러스해준다. 그다음, K번 반복하는 부분이 중요한데 option이 1이면 건물을 1개 건설하는 것이고 2이면 파괴하는 것이라고 한다. 건설 부분을 보면 진입..
[백준] 9470 Strahler 순서 c++
·
🍞 Problem Solving/Baekjoon
https://www.acmicpc.net/problem/9470 9470번: Strahler 순서 지질학에서 하천계는 유향그래프로 나타낼 수 있다. 강은 간선으로 나타내며, 물이 흐르는 방향이 간선의 방향이 된다. 노드는 호수나 샘처럼 강이 시작하는 곳, 강이 합쳐지거나 나누어지는 곳 www.acmicpc.net 풀이과정 문제를 잘 읽지 않고 풀어서 고생했던 문제이다... 가장 핵심인 부분은 "나머지 노드는 그 노드로 들어오는 강의 순서 중 가장 큰 값을 i라고 했을 때, 들어오는 모든 강 중에서 Strahler 순서가 i인 강이 1개이면 순서는 i, 2개 이상이면 순서는 i+1이다"라는 부분이다. #include #include #include #include using namespace std; i..