프로그래머스/Level 1 41

[프로그래머스/c++] Level 1 3진법 뒤집기

문제 programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 풀이 처음 while문을 돌면서 n이 0이 될 때까지 3진수로 바꿔주면서 바로 vector에 저장한다. 근데 vector는 데이터가 맨 마지막에 삽입되므로 자연스럽게(?) 뒤집혀진 3진수가 된다. 그래서 따로 뒤집을 필요가 없음 다시 10진수로 바꿔줘야하기 때문에 for문을 돌면서 계산해주면 된다. 코드 #include #i..

[프로그래머스/c++] Level 1 [1차] 다트 게임(2018 KAKAO BLIND RECRUITMENT)

문제 https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 풀이 - 벡터 v에는 3번의 기회에서 얻는 점수로 계산한 각각의 결과값을 저장함 - 변수 s에는 각 기회별로 점수를 저장함 - 문자를 숫자로 변환하는 코드를 숫자 10인 경우를 체크하느라 길게 코드 짰는데, 어떤 사람이 작성한 코드보니까 s = s * 10 + dartResult[i] - '0'; 이 한 줄로 끝냈다 . . . 천잰줄 . . - 후에, 영역과 옵션에 맞게 계산 . . - 다 계산한 담에, vector에 저장한 값을 answer에 저장하고 출력 코드 #include #include using namespace st..

[프로그래머스/C++] Level 1 제일 작은 수 제거하기

문제 https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 풀이 - for문을 돌리면서 제일 작은 수를 찾고, 그 위치를 idx에 저장 - 만약 arr의 크기가 0이나 1일 땐, answer에 -1을 담아 바로 return - 제일 작은 수의 위치를 지워줌 -> arr.erase(arr.begin() + idx) 코드 #include #include using nam..

[프로그래머스/C++] Level 1 문자열 내 마음대로 정렬하기

문제 https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1� programmers.co.kr 풀이 - vector에 문자와 문자열을 저장함 - sort하면 first를 기준으로 정렬됨 - aa.second에 저장되어있는 문자열을 출력 코드 #include #include #include using namespace std; vector solution(vector strings, in..

[프로그래머스/C++] Level 1 [1차] 비밀지도(2018 KAKAO BLIND RECRUITMENT)

문제 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 풀이 - arr1, arr2를 순서대로 각각 이진수로 바꿔줌 - 이진수니까 뒤집어서 정렬 - 각 벡터의 이진수를 비교해서 하나라도 1이면 '#', 둘 다 0이면 ' ' 코드 #include #include #include using namespace std; vector solution(int n, vector arr1, vector arr2) { ..

[프로그래머스/C++] Level 1 최대공약수와 최소공배수

문제 https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 풀이 코드 #include #include #include using namespace std; vector solution(int n, int m) { vector answer; int num = m; for(int i=n; i>=1; i--){ if(n % i == 0 && m % i == 0){ answer.push_b..

[프로그래머스/C++] Level 1 x만큼 간격이 있는 n개의 숫자

문제 https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. �� programmers.co.kr 풀이 코드 #include #include using namespace std; vector solution(int x, int n) { vector answer; int xx = x; for(int i=0;i

[프로그래머스/C++] LEVEL 1 키패드 누르기(2020 카카오 인턴십)

문제 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 풀이 코드 #include #include using namespace std; int L_count = 0; int R_count = 0; int L_location = 10; int R_location = 12; void calcul(int L..

[프로그래머스/C++] Level 1 크레인 인형뽑기 게임(2019 카카오 개발자 겨울 인턴십)

문제 https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 풀이 코드 #include #include using namespace std; int solution(vector board, vector moves) { int answer = 0; vector result; for(int i=0;i

[프로그래머스/C++] Level 1 행렬의 덧셈

문제 https://programmers.co.kr/learn/courses/30/lessons/12950 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr 풀이 코드 #include #include using namespace std; vector solution(vector arr1, vector arr2) { vector answer; vector v; for(int i=0;i