/images/logo.png

[백준]5214 환승

https://www.acmicpc.net/problem/5214 풀이: s[i] : i 번째 하이퍼 튜브에 연결 되어 있는 모든 역 v[i] : i 번 역이 들어있는 하이퍼 튜브 1부터 bfs를 돌아 N번째 역에 도착할 때 지나온 역의 갯수를 출력한다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include <iostream>#include <vector>#include <queue>using namespace std; int n, m, k, i, t, w, d, c[1005], b[100005] = { 1,1 }; int main() { cin >> n >> k >> m; vector<vector<int>> s(m + 1), v(n + 1); queue<int> q; for (q.

[백준]2589 보물섬

https://www.acmicpc.net/problem/2589 풀이: 모든 L을 전부 찾는다. 현재 L에서 최단 거리로 가장 먼 거리가 현재 저장된 거리보다 크다면 현재 저장된 거리를 바꾼다. 최대 거리를 출력한다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include <iostream>#include <queue>using namespace std; int n, m, i, t, s, y; string c[55]; int main() { cin >> n >> m; for (; i < n; i++) cin >> c[i]; for (i = 0; i < n; i++) for (t = 0; t < m; t++, s = y - 1 > s ?

[백준]5014 스타트링크

https://www.acmicpc.net/problem/5014 풀이: 현재 층 S부터 +U, -D 를 하며 모든 층을 찾아간다. 만약 찾는 층에 도달했다면 버튼을 몇 번 눌렀는지 출력한다. 만약 1 ~ F 층까지 갈 수 있는 모든 층을 가봤지만 G층에 도달 할 수 없다면, “use the stairs"를 출력한다. S가 G와 같다면 0을 출력한다. 1층 부터 시작이므로 주의하자. (0층은 없다.) 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include <iostream>#include <queue>using namespace std; int F, S, G, U, D, i, s, a, b[1000005]; int main() { cin >> F >> S >> G >> U >> D; queue<int> q; q.

[백준]2954 창영이의 일기장

https://www.acmicpc.net/problem/2954 풀이: 문자열을 하나씩 읽는 중 모음이 나온다면, 그 다음글자와 다다음 글자를 삭제한다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 #include <iostream>#include <string>using namespace std; int i, c; string s; int main() { getline(cin, s); for (i = 0; i < s.size(); i++) if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u') s.

[백준]2929 머신 코드

https://www.acmicpc.net/problem/2929 풀이: 만약 머신 코드의 명령(대문자) 이 들어왔는데, 그 위치가 4의 배수가 아니라면, 4의 배수가 될 때까지 NOP의 갯수를 증가시킨다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 #include <iostream>using namespace std; int i, c; string s; int main() { cin >> s; for (i = 0; i < s.size(); i++) while (isupper(s[i]) && (i + c) % 4 != 0) c++; cout << c << endl; }

[백준]2083 럭비 클럽

https://www.acmicpc.net/problem/2083 풀이: 나이가 17세보다 많거나, 몸무게가 80kg 이상이면, ‘Senior’ 아니라면 ‘Junior’를 출력한다. 코드: 사용언어 : c 1 2 3 4 5 char c[11]; main(a,b){ for(;scanf("%s%d%d",c,&a,&b)*a;) printf("%s %s\n",c,a>17||b>=80?"Senior":"Junior"); }