본문 바로가기

C++

(86)
[프로그래머스] 신고 결과 받기 (C++, JS) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 C++ #include #include #include #include using namespace std; map reportingIds; map reportedNums; vector solution(vector id_list, vector report, int k) { vector answer; sort(report.begin(), report.end()); report.erase(..
[백준] 2089번 -2진수 (C++) 문제 https://www.acmicpc.net/problem/2089 2089번: -2진수 -2진법은 부호 없는 2진수로 표현이 된다. 2진법에서는 20, 21, 22, 23이 표현 되지만 -2진법에서는 (-2)0 = 1, (-2)1 = -2, (-2)2 = 4, (-2)3 = -8을 표현한다. 10진수로 1부터 표현하자면 1, 110, 111, 100, 101, 11010, 110 www.acmicpc.net 코드 #include #include using namespace std; int main(){ int n; cin >> n; if(n==0){ cout
[백준] 1850번 최대공약수 (C++) - Euclidean algorithm 문제 https://www.acmicpc.net/problem/1850 1850번: 최대공약수 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A www.acmicpc.net 코드 #include using namespace std; long long gcd(long long a, long long b){ while(b!=0){ long long c=a%b; a=b; b=c; } return a; } int main(){ long long a,b; cin >> a >> b; int num=gcd(a,b); for(int i=0; i
[백준] 7576번 토마토 (C++) - BFS 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 코드 #include #include #include using namespace std; int m,n,day=0; int box[1000][1000]; int isVisited[1000][1000]; queue q; // 북, 동, 남, 서 int dy[4] = {-1,0,1,0}; int dx[4] = {0,1,0,-1}; bool inRange(int y, int x)..
[백준] 3190번 뱀 (C++) - simulation 문제 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 코드 #include #include #include using namespace std; int n,k,l; int arr[101][101]; char dir[10001]; // 동, 남, 서, 북 int dy[4] = {0,1,0,-1}; int dx[4] = {1,0,-1,0}; int dir_num=0; // 빈 곳은 0 사과는 1 뱀은 2 queue snake; bool inRange(in..
[백준] 14503번 로봇 청소기 (C++) - simulation 문제 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 코드 #include using namespace std; int n,m,r,c,dir_num,cnt=0; int arr[50][50]; bool cleaned[50][50]; int dy[4] = {-1,0,1,0}; int dx[4] = {0,1,0,-1}; bool inRange(int y, int x){ return 0> m >> r >> c >> dir_num; for(int i=..
[백준] 17478번 재귀함수가 뭔가요? (C++) - recursion 문제 https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 코드 #include using namespace std; int n; void space(int a){ for(int i=0; i
[백준] 8892번 팰린드롬 (C++) 문제 https://www.acmicpc.net/problem/8892 8892번: 팰린드롬 팰린드롬은 어느 방향으로 읽어도 항상 같은 방법으로 읽을 수 있는 단어이다. 예를 들어, civic, radar, rotor, madam은 팰린드롬이다. 상근이는 단어 k개 적혀있는 공책을 발견했다. 공책의 단어는 ICPC www.acmicpc.net 코드 첫번째 시도 #include #include using namespace std; string arr[100]; int main(){ int t; cin >> t; while(t--){ int k; cin >> k; for(int i=0; i> arr[i]; } if(k==1){ cout