본문 바로가기

전체 글

(146)
[C++] 아기 상어 (16236번) https://www.acmicpc.net/problem/16236 아기 상어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 62651 29000 17497 42.878% 문제 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크기보다 작은 물고기만 먹을 수 있다. 따라서, 크기가 같은..
[C++] 미로 탈출 (프로그래머스 LEVEL 2) https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 시작점에서 레버를 찍고, 레버에서 도착지점을 찍는 최단 거리를 찾는 문제다. bfs를 두번 돌리면 되겠다고 생각했다. 두번 돌려야 하므로 함수로 따로 빼서 작성해 주었다. 주의할 점은, 목표 지점에 도달하지 못하는 경우를 처리해 주어야 한다. 함수에서 목표지점에 도달하지 못한경우 1(true), 도달 한경우 0(false)를 리턴해 주도록 했다. #include #include #inc..
[C++] 광물 캐기 (프로그래머스 LEVEL 2) https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 처음 생각 했던 방법은 dp를 사용한 풀이였다. 다이아 곡괭이를 사용했을 경우, 철 곡괭이를 사용했을 경우, 돌 곡괭이를 사용했을 경우를 각각 처리하여 피로도를 배열에 저장하는 방식이었다. 피로도[2][3] -> 0번 인덱스는 이전의 각 곡괭이 사용시 최소값이고, 1번 인덱스는 이전 각 곡괭이 사용시 최소값 + 현재 곡괭이 사용시 피로도이다. 그리고 각각 곡괭이 사용 가능 개수를 저장한..
[C++] IF문 좀 대신 쎠줘 (19637번) IF문 좀 대신 써줘 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 (추가 시간 없음) 1024 MB 5741 1955 1552 35.515% 문제 게임 개발자인 밀리는 전투력 시스템을 만들어, 캐릭터가 가진 전투력을 기준으로 칭호를 붙여주려고 한다. 예를 들어, 전투력 10,000 이하의 캐릭터는 WEAK, 10,000 초과 그리고 100,000 이하의 캐릭터는 NORMAL, 100,000 초과 그리고 1,000,000 이하의 캐릭터는 STRONG 칭호를 붙여준다고 하자. 이를 IF문으로 작성한다면 아래와 같이 구현할 수 있다. if power > m; vector v; v.reserve(100000); string s; int a; cin >> s >> a; v.push_back({s, a})..
[C++] 암호해독기 (17176번) 암호해독기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 512 MB 2012 903 759 48.623% 문제 방금 도착한 암호문을 해독했는데, 해독에 오류가 없는지 확인해보려 한다. 해독한 문장이 암호문을 해석한 결과로 나올 수 없다면, 그 해독은 잘못된 것이다. 암호문은 0 이상 52 이하의 정수로 이루어져 있다. 0은 띄어쓰기, 1 - 26 범위 안의 수는 A ~ Z, 27 - 52 범위 안의 수는 a ~ z로 해석된다. 암호문은 띄어쓰기를 포함한 모든 철자를 이와 같이 정수로 치환한 후 순서를 무작위로 뒤섞어서 만들어졌다. 입력 첫 번째 줄에는 주어질 수열의 길이 N이 주어진다. (1 ≤ N ≤ 100,000) 두 번째 줄에는 암호문에 해당하는 수 N개가 띄어쓰기와 함께 주어진다. 세 번..
[C++] 피자 굽기 (1756번) 피자 굽기 문제 월드피자 원주 지점에서 N개의 피자 반죽을 오븐에 넣고 구우려고 한다. 그런데, 월드피자에서 만드는 피자 반죽은 지름이 제각각이다. 그런가하면, 월드피자에서 사용하는 오븐의 모양도 몹시 오묘하다. 이 오븐은 깊은 관처럼 생겼는데, 관의 지름이 깊이에 따라 들쭉날쭉하게 변한다. 아래는 오븐의 단면 예시이다. 피자 반죽은 완성되는 순서대로 오븐에 들어간다. 이렇게 N개의 피자가 오븐에 모두 들어가고 나면, 맨 위의 피자가 얼마나 깊이 들어가 있는지가 궁금하다. 이를 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 오븐의 깊이 D와 피자 반죽의 개수 N이 공백을 사이에 두고 주어진다. (1 ≤ D, N ≤ 300,000) 둘째 줄에는 오븐의 최상단부터 시작하여 깊이에 따른 오븐의 지름이 차례대..
[C++] 파티 (1238번) 파티 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 38985 19628 13169 48.141% 문제 N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다. 어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다. 각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다. 이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다. N명의 학생들 중 오고 가는데 가장 많은 시간을 소비하는 학생은 누구일지 구하..
네이버 부스트 캠프 웹 8기 1, 2차 합격 후기 운 좋게 1월에 취업한 뒤 3개월 다니고 관둔 뒤에 조금 쉬다가 이곳저곳 서류를 넣었다. 결과는 모두 탈락.. 서류에서 떨어지고.. 면접에서 떨어지고.. 자소서 너무 싫다. 이렇게 취직에 연달아 실패하면서 채용 연계 해주는 여러 프로그램들을 찾아보게 되었다. 싸피, 네부캠 등등.. 마침 네이버 부스트 캠프에서 신청을 받고 있었는데 일단 신청해뒀다. 캠프보단 취업이 더 하고 싶었지만 계속된 실패로 이거라도 해보고, 채용연계까지 해준다니까 비록 지금 공부하는 스프링이 아니지만 해보기로 결심했다.(js 사용) 1차 알고리즘 2문제와 객관식(인데 모든 문제가 모두 고르시오임) 10문제 였나? 정도 나왔다. 객관식 문제는 cs지식인데.. 보고 충격 먹었다. 이렇게까지 지엽적으로 문제가 나올 줄을 몰랐다. 비전공자..