전체 글
-
백준 7576 - 토마토 C++백준 algorithm 2022. 3. 29. 23:15
입력 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토들의 정보가 주어진다. 즉, 둘째 줄부터 N개의 줄에는 상자에 담긴 토마토의 정보가 주어진다. 하나의 줄에는 상자 가로줄에 들어있는 토마토의 상태가 M개의 정수로 주어진다. 정수 1은 익은 토마토, 정수 0은 익지 않은 토마토, 정수 -1은 토마토가 들어있지 않은 칸을 나타낸다. 토마토가 하나 이상 있는 경우만 입력으로 주어진다. 출력 여러분은 토마토가 모두 익을 때까지의 최소 날짜를 출력해야 한다. 만약, 저장될 때부터 모든 토마토가 익어있는 상태이면 0을 출력해야 하고, 토마토가 모두 ..
-
백준 2178 - 미로탐색 C++백준 algorithm 2022. 3. 28. 17:45
입력 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. 출력 첫째 줄에 지나야 하는 최소의 칸 수를 출력한다. 항상 도착 위치로 이동할 수 있는 경우만 입력으로 주어진다. 예제 입력 1 복사 4 6 101111 101010 101011 111011 예제 출력 1 복사 15 예제 입력 2 복사 4 6 110110 110110 111111 111101 예제 출력 2 복사 9 예제 입력 3 복사 2 25 1011101110111011101110111 1110111011101110111011101 예제 출력 3 복사 38 예제 입력 4 복사 7 7 1011111 1110001 1000001 10000..
-
MAC 이모티콘 단축키 | MAC 단축키 정리etc/MAC 2022. 3. 27. 14:38
MAC을 사용하다 보면 단축키를 사용해서 편리하지만, 해당 단축키를 기억하지 못해 답답할 때가 있습니다. 단축키를 정리해보았습니다. 자주 사용하는 단축키의 경우 굵게 표시해두겠습니다. CONTROL + COMMAND + SpaceBar : 이모티콘 보이기 command+spaceBar : spotlight command + w : 창닫기 command + Q : 프로그램 종료 command + M : 해당 앱 최소화 option + command + M : 전체 앱 최소화 Ctrl + command + F :전체화면화 및 되돌리기 Fn +F11 : 바탕화면 보기 command + shift + z : 실행복귀 command + 왼쪽 오른쪽 화살표 : 이전 페이지, 다음 페이지 command + 위아래 화..
-
프로그래머스 조이스틱 C++프로그래머스(Programmers) 2022. 3. 22. 00:50
제한 사항 name은 알파벳 대문자로만 이루어져 있습니다. name의 길이는 1 이상 20 이하입니다. 입출력 예 name return "JEROEN" 56 "JAN" 23 => 풀이는 아래 그림으로 첨부하겠습니다. #include #include using namespace std; int solution(string name) { int answer = 0; int n = name.length(); int turn = n - 1; //조이스틱을 한 방향으로 쭉 움직였을 때 for (int i = 0; i < n; i++) { if (name[i] - 'A' < 14) answer += name[i] - 'A'; else answer += 'Z' - name[i] + 1; int ind = i + 1;..
-
프로그래머스 n^2 배열 자르기 C++프로그래머스(Programmers) 2022. 3. 21. 00:38
#include #include using namespace std; vector solution(int n, long long left, long long right) { vector answer; long divisor=0, mod=0; //나누는 수, 나머지 for(long long idx =left; idx divisor)answer.push_back((mod+1)); else answer.push_back((divisor+1)); } return answer; } 제한사항 1 ≤ n ≤ 107 0 ≤ left ≤ right 수학식..
-
프로그래머스 가운데 글자 가져오기프로그래머스(Programmers) 2022. 3. 20. 23:33
입출력 예 s return "abcde" "c" "qwer" "we => 단순구현문제입니다. => 단어의 길이가 짝수여서 두글자를 반환해야하는 경우는 mid 와 mid-1 에 있는 글자를 반환해주어야합니다. => 이외의 경우에는 mid에 있는 글자를 반환해주어야합니다. => mid : 가운데를 나타내는 s안의 INDEX #include #include using namespace std; string solution(string s) { string answer = ""; int mid = s.size()/2; int sSize = s.size(); if(sSize%2 == 0)//짝수여서 두개를 반환해야하는 경우 { answer += s[mid-1]; answer += s[mid]; } else ans..
-
프로그래머스 비밀지도 C++프로그래머스(Programmers) 2022. 3. 13. 11:46
=> 단순구현문제였습니다. => 10진수로 주어진 숫자를 2진수 숫자로 변환하여 string형 vector 변수로 표현하여야 합니다. string Binary(int num , int digit) // 십진수, 자릿수 { string s = bitset(num).to_string(); // 안에 있는 숫자는 몇자리까지 표현할지를 정한다. string value = s.substr(16-digit); // substr을 통해 필요한 숫자만큼만 쓴다. return value; } => 위는 10진수를 2진수로 표현하는 방법입니다. 필요한 자릿수만큼 사용하기 위해 substr 함수를 이용하였습니다. => 두 string형 vector map1 과 map2를 비교하여 둘중에 하나라도 벽이 있으면 '#'을 ..
-
프로그래머스 같은 숫자는 싫어 C++프로그래머스(Programmers) 2022. 3. 12. 00:24
제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수 입출력 예 arr answer [1,1,3,3,0,1,1] [1,3,0,1] [4,4,4,3,3] [4,3] => 현재 값과 이전 값을 비교합니다. => 같을 경우에는 continue하며, 다른 경우에는 답으로 반환할 answer에 추가합니다. => tmp : 이전값 변수 => 위의 값은 초기값을 10으로 하여야합니다. 제한 사항 : 0보다 크고 9보다 작은 숫자이기 때문에 첫 현재값과 똑같은 값이 되지 않기 위해서 tmp = 10;으로 설정하였습니다. \ #include #include using namespace std; vector solution(vector ..