
[프로그래머스] 1단계 - [1차] 비밀지도.cpp
2023. 1. 5. 21:09
Algorithm Study
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr n개의 2진수를 변환했을때 0이면 공백, 1이면 #으로 암호화 되어있는 지도를 2개 겹쳐서 최종 지도를 획득하는 문제 이때 하나라도 벽이면 벽임 문제 풀이법 처음에 내가 푼 풀이법은 2진수로 변환하고, 그 수를 reverse한 후 임시 배열에 값을 저장한 후, 다른 지도도 검사하는 방식으로 문제를 해결했다 답은 맞았지만 여러 풀이를 참고하던 중 비트 연산자를 사용하는 풀이를 발견했다 비..

[프로그래머스] 1단계 - 예산
2023. 1. 5. 00:08
Algorithm Study
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 예산안에서 최대한 많은 부서들을 지원하는 수를 구하는 문제 문제 풀이법 가장 많은 부서들을 지원하므로 지원 금액을 작은 순서대로 정렬한 후, 지원 금액을 하나씩 제외해 가면서 예산을 구함 맨 뒤의 수. 즉 가장 큰 지원금을 제외하면서 총 예산이 정해진 예산을 넘지 않으면 그 수가 최대이므로 바로 return 소스 코드 #include #include #include #includ..

[프로그래머스] 1단계 - 3진법 뒤집기
2023. 1. 4. 23:43
Algorithm Study
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/68935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 수 n을 3진법으로 변환 후, 뒤집어서 다시 10진수로 변환하는 문제 문제 풀이법 문제는 어렵지 않았다 다만 n = 3인 경우를 간과하여서 틀렸다 n이 3인 경우를 고려하니, 정답! 소스 코드 #include #include #include #include using namespace std; int solution(int n) { int answer = 0; vector v; ..

[백준] 17413 단어 뒤집기 2
2023. 1. 3. 23:22
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 안에 있는 단어는 그대로, 그렇지 않은 단어는 거꾸로 출력하는 문제 문제 풀이법 처음에는 띄어쓰기를 기준으로 단어의 첫 시작점과, 끝 시작점을 지정해서 reverse 시키려고 했다 하지만 너무 구현이 비효율적인 것 같았다 솔직히 스택을 사용하면 된다는 생각은 못하고 있었는데, 스택이라는 힌트를 봐버려서 스택으로 구현하게 되었다 여기서 한 번 틀렸는..

[프로그래머스] 1단계 - 콜라츠 추측
2023. 1. 2. 20:58
Algorithm Study
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1-1. 입력된 수가 짝수라면 2로 나눔 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더함 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복 이때 주어진 수가 0이라면 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 -1 반환 문제 풀이법 1단계라 상당히 구현이 상당히 간단하지만 예외사항을 간과하여서 틀렸던 문제 문제에서 구현하라는 그대로 구현 주의해야 할 점 1. ..