문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/17681
문제 설명
네오가 프로도의 비상금을 손에 넣을 수 있도록, 비밀지도의 암호를 해독하는 작업을 도와줄 프로그램을 작성하라.
문제 입출력 예)
매개변수 | 값 |
n | 5 |
arr1 | [9, 20, 28, 18, 11] |
arr2 | [30, 1, 21, 17, 28] |
출력 | ["####", "# # #", "### #", "# ##", "#####"] |
문제 풀이
비밀지도의 정보다 담긴 arr1과 arr2가 주어진다. 두개의 값이 합쳐졌을 때, 비밀지도의 암호를 해독할 수 있다.
arr1과 arr2를 or연산을 하고, 2진수로 바꾸어 간단하게 풀 수 있는 문제였다.
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
vector<string> answer;
for(int i=0; i<n; i++){
string temp = "";
arr1[i] = arr1[i] | arr2[i];
while(temp.size() != n){
if(arr1[i] % 2 == 1)
temp.push_back('#');
else
temp.push_back(' ');
arr1[i] /= 2;
}
reverse(temp.begin(), temp.end());
answer.push_back(temp);
}
return answer;
}
리뷰
알고리즘 문제,,, Level1인데 왜이리어렵지 ㅠ
'알고리즘 공부 > 프로그래머스 [C++]' 카테고리의 다른 글
프로그래머스 : 모의고사 [C++] (0) | 2022.11.04 |
---|---|
프로그래머스 : 숫자 문자열과 영단어 [C++] (0) | 2022.11.04 |
프로그래머스 : 소수 찾기 [C++] (0) | 2022.11.03 |
프로그래머스 : 문자열 내 마음대로 정렬하기 [C++] (0) | 2022.11.03 |
프로그래머스 : 폰켓몬 [C++] (0) | 2022.11.01 |
댓글