본문 바로가기

백준 알고리즘 14500 입력 : 종이사이즈 N*M, 종이 위에 적힌 수 출력 : 테트로미노와 닿은 수를 합한 수들 중 가장 큰 수 풀이 1. 테트로미노는 5개이지만 회전, 대칭이 가능하기 때문에 회전했을 때와 대칭했을 때의 모양도 각각 만들어둔다. -> 테트로미노는 왼쪽 위를 기준으로 만든다. ex) ---- : (0,0), (0,1), (0,2), (0,3) 2. 한 테트로미노의 기준점(왼쪽 맨위)을 종이 위의 모든 칸에 적용해 수를 합해본다. -> 종이를 벗어날 경우엔 0 3. 2번에서 구한 값들 중 가장 큰 수를 출력한다. 소스코드 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 32 33 34 35 36 37 38 39..
백준 알고리즘 14501 입력 : 퇴사까지 남은 날짜 N, 상담 일정표 출력 : 백준이가 받을 수 있는 최대 수익 풀이 1. 다이나믹 프로그래밍의 전형적인 문제이므로 재귀함수 하나, 캐시테이블 하나를 정의해둔다. 2. 기저조건 : 업무기간이 N일을 넘어갈 경우 수익이 발생할 수 없음으로 0을 반환하도록한다. 3. 각 날짜에 잡힌 상담을 할 경우와 안할 경우를 비교해 더 큰 쪽을 리턴 ->점화식 : C(i) = max( C(i+1), C(i+T[i]) + P[i] ) 소스코드 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 32 33 #include #include using namespace std; int T[20]; int ..
백준 알고리즘 13458 입력 : 시험장 갯수 N, 시험장 별 인원 A[i], 총감독관이 감독가능한 인원 B, 부감독관이 감독가능한 인원 C 출력 : 필요한 감독관의 총 인원수 풀이 1. 각 시험장에 총감독관을 한명씩 비치 2. 총감독관으로 관리할 수 없는 인원이 있으면 부감독관을 비치 3. (A[i]-B) / C 이 연산을 통해 각 시험장에 필요한 부감독관 인원을 바로 구할 수 있다. -> (A[i]-B) % C > 0이면 위 연산의 결과에서 부감독관이 한명 더 필요하다 4. 시험장 갯수, 인원이 모두 최대 10만이기 때문에 결과값은 int범위를 넘어갈 수 있다. -> long long으로 선언 소스코드 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 ..
백준 알고리즘 11931 입력 : 배열의 크기 N(1
백준 알고리즘 14499 머리에서 주사위 빙글빙글 하다 머리 터질뻔... 입력 : 지도의 가로세로 크기(N, M), 주사위를 놓은 좌표(X, Y), 명령어 갯수(K), 지도 및 명령어 출력 : 한 명령어를 수행할 때마다 주사위 윗면의 숫자를 출력 풀이 1. 주사위를 코드로 표현. 전역변수로 저장 0 North 0 0 West Top East Bottom 0 South 0 0 0 Bottom 0 0 * Bottom이 두 개인 이유는 동.서로 굴릴 경우와 남.북으로 굴릴 경우 모두를 쉽게 표현하기 위함 2. 주사위를 동서남북으로 굴리는 함수를 정의 -> 방향을 파라미터로 입력받는다. -> 동.서 방향은 2번 row을 좌우로 Shift, 남.북 방향은 2번 column을 위아래로 Shift -> Shift한 뒤에 두 Bottom값을 ..
백준 알고리즘 12100 입력 : N * N 크기 2048게임판이 주어졌다. 출력 : 2048게임의 룰에 맟춰 좌우상하로 움직일 수 있을 때, 5번 움직여 만들 수 있는 가장 큰 수 풀이 1. vector를 사용해 입력으로 주어진 게임판을 저장 2. 좌우상하로 한번 움직인 후의 게임판의 모습을 반환하는 함수를 각각 정의 -> 한 숫자는 한 차례에 한 번만 합쳐질 수 있다 ex) 8 4 2 2 를 오른쪽으로 이동시키면 0 8 4 2가 되어야 함. 0 0 0 16이 되면 안됨 -> 계산 범위가 0~N-1을 벗어나지 않도록 지정해야 한다. 3. 게임판을 파라미터로 받는 함수 moveBoard에서 좌우상하 모두 이동시켜본다. 4. 좌우상하로 이동시켜본 후의 게임판정보를 사용해 총 4회 moveBoard를 재귀실행해 가장 큰 값을 리턴한..
귀국 독일 생활이 한 2개월까진 재밌다가 4개월까진 그냥 그렇다가 마지막 2개월은 하... 한국이 너무 오고싶었어요 향수라기 보다는 독일이 너무 지겨워서ㅠㅠㅠ 진짜 끝나지않을 것 같던 독일생활이 끝났습니다!!! 와서 제일 먼저 먹은 고기는 화포식당!! 소고기 안심 + 삼겹살 + 목살 와 진짜 핵해핵 맛있어요 소고기는 가격이 어마무시 했지만... 승오형 한번 더 감사합니다 독일에서 실~~컷 먹은 크림파스타지만 또 퓨전으로 먹으니까 다르더라구요? 수원 영통에 있는 붉은입술이라는 퓨전 레스토랑입니다. 일반 서양음식점이랑은 다른, 여기서밖에 못먹는 음식들을 많~이 맛볼 수 있어요 나 영국갔다옴!!!을 뿜뿜하기위한 노팅힐 에코백 리뷰오브북스는 많지만 노팅힐은 잘 없더라구요 심지어 저 뱃지도 브리스톨에서 여자친구가 사준..
브리스톨 브리스톨은 사실 많이 모르시는 분들도 있을 것 같아요. 런던에서 버스로 2시간 거리에 있는 곳인데 우리나라에선 유명하진 않지만 열기구축제와 서스펜션 브릿지로 유명한 곳입니다. 여긴 브리스톨 대표 쇼핑거리인 카봇서커스입니다. 런던만큼 그렇지는 않지만 있을거 다 있는, 또 건물도 되게 좋은 곳이에요 열기구로 유명한 도시라 가로등도 열기구 컨셉으로 해놓은건감? 음... 무슨 성이었는데 그냥 벚꽃때문에 찍었어요 한겨울에 벚꽃이라니 하면서 이쁘길래 찍어봤어요 The Covered Market 브리스톨의 대표 시장입니다. 뭐 딱히 시장구경하러온건 아니구요 그렇다고 목적이 없진 않죠 바로바로 이 피타를 먹기 위해 온 거시여따!!! 주문하면 손님이 보는 앞에서 만들기 시작하는데 일단 야채만 들어갑니다. 그리고 엄청나게..