[백준 알고리즘] 1874번 : 스택 수열
2019. 7. 31. 23:35
알고리즘/BaekJoon
문제 1874번 : 스택 수열 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 내가 작성한 코드 (C++ 성공) #include #include using namespace std; int stack[100001]; char res[200001]; int main(){ int n; cin >> n; int top = 0, istack = 0, ires = 0; int num[n+1]; for(int i=0; i> num[i]; ..
[백준 알고리즘] 1920번 : 수 찾기
2019. 7. 31. 23:24
알고리즘/BaekJoon
문제 1920번 : 수 찾기 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수들의 범위는 int 로 한다. www.acmicpc.net 내가 작성한 코드 (C++ 성공) #include #include using namespace std; int main(){ cin.tie(NULL); int n, m; cin >> n; int a[n+1]; for(int i=0; i> a[i]; } sort(a, a+n); cin >> m; int input[m+1]; fo..
[백준 알고리즘] 17213번 : 과일 서리
2019. 7. 31. 23:13
알고리즘/BaekJoon
문제 17213번 : 과일 서리 17213번: 과일 서리 민건이네 과일 농장은 N가지 종류의 과일을 재배하는 중이다. 평소 민건이에게 앙심을 품고 있던 지환이는 민건이를 골탕 먹이기 위하여 민건이네 과일 농장에서 과일들을 훔치기로 다짐했다. 지환이는 완벽한 범죄를 위하여 처음 생각한 개수 만큼만 훔치려고 한다. 이때 지환이가 훔칠 수 있는 경우의 수가 몇가지나 될 지 알아보자. 단, 모든 종류의 과일을 적어도 1개는 훔친다. www.acmicpc.net 내가 작성한 코드 (C++ 성공) #include using namespace std; int sel[8]; int cnt; int n, m; int Comb(int index, int count){ if(count == m-n){ cnt++; retur..
[백준 알고리즘] 17362번 : 수학은 체육과목입니다 2
2019. 7. 31. 23:01
알고리즘/BaekJoon
문제 17362번 : 수학은 체육과목입니다 2 17362번: 수학은 체육과목 입니다 2 첫 번째 줄에 19번 문제 세 번째 줄에 등장하는 수 '1000'을 자연수 n으로 바꾸었을 때 그에 해당하는 답의 번호를 출력한다. 즉, 1 이상 5 이하의 자연수 중 하나를 출력해야 한다. www.acmicpc.net 내가 작성한 코드 (C++ 성공) #include using namespace std; int main(){ cin.tie(0); int n; cin >> n; /* 1 2 3 4 5 8 7 6 9 10 11 12 13 16 15 14 17 ... */ if(n%8 >= 1 && n%8
[Programmers] Level 1. 체육복 (C++)
2019. 7. 26. 00:00
알고리즘/Programmers
정리 정말 많은 고민을 했던 문제였다. 처음에 문제를 보고나서 어떻게 풀지 고민을 했는데 2가지 방법이 생각이 났다. 첫 번째는, 체육복이 있으면 1, 체육복이 없으면 0, 여벌의 체육복이 있으면 2 로 정해두고 여벌의 체육복이 있는 학생의 수를 1 감소하고 없는 학생의 수를 1로 증가시켜서 마지막에 1인 학생의 수를 세서 출력하는 방법이다. 두 번째는, 체육복이 없는 학생을 일단 제외하고 여벌의 체육복이 있는 학생의 것을 빌려주면서 카운트를 더하는 방식이었다. 결과는 두 번째 방법으로 풀었는데 2~3시간 가량 고민 끝에 해결한 문제였다. 이 문제를 이렇게 풀어보았다. 1) 체육복을 잃어버린 학생과 여벌의 체육복이 있는 학생이 같다면 제외시켜준다. 2) 전체 학생에서 체육복을 잃어버린 학생을 빼준다. 3..
[Programmers] Level 1. 모의고사 (C++)
2019. 7. 25. 23:24
알고리즘/Programmers
정리 수포자 3명이 있고, 3명이 각각 정해진 규칙에 맞춰 답을 작성해서 제출한다. 1번부터 답이 정해져있기 때문에 규칙적으로 반복되는 정답의 갯수를 이용해 정답을 체크해준다. 정답의 갯수가 정해져 있어 그 수만큼 반복되기 때문에 나머지를 구해서 맞은 정답의 갯수를 구해준다. 정답일 때, 카운트를 세어주고 문제에서 가장 많은 정답을 맟춘 학생을 출력해야하기 때문에 카운트가 많은 수포자를 answer 에 넣어준다. 따라서, 이 문제는 이렇게 풀어보았다. 1) 수포자가 정해진 답을 계속해서 반복한다는 점. 그리고 수포자는 어떤 문제가 나와도 이 정답만 제출한다. 2) 정답이 반복되기 때문에 반복되는 정답의 갯수를 구한다. 3) 반복되는 정답의 갯수가 5개이고, 7번 문제라면 7를 5로 나눈 나머지인 2 번째..
[Programmers] Level 1. 소수의 합 (C++)
2019. 7. 25. 22:50
알고리즘/Programmers
정리 소수를 구하는 문제였다. 소수를 구하는 방법 중 가장 많이 알려져있는 알고리즘은 에라토르테네스의 체 다. 에라토스테네스의 체를 간단하게 설명해보면, 2부터 시작한다. 그리고 2부터 자신을 제외한 자신의 배수를 제거한다. 2를 제외한 2의 배수를 제거하고, 3을 제외한 3의 배수를 제거하고, 4는 2의 배수이기 때문에 이미 제거가 되어있다. 이미 제거가 되어있는 수들은 건너뛰고 진행한다. 위와 같은 과정을 반복하면 남아있는 숫자는 소수가 될 것이다. 따라서, 에라토스테네스의 체를 이용해서 풀면 쉽게 풀 수 있는 문제였다. 소스 코드 #include using namespace std; long long solution(int N) { long long answer = 0; vector m; for(i..
알고리즘 사이트 정리
2019. 7. 24. 11:00
알고리즘/개념정리
백준 알고리즘 온라인 저지 (BOJ) Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com LeetCode LeetCode - The World's Leading Online Programming Lea..