전체 글 96

[Python] 7576 - 토마토

문제7576번: 토마토문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다.https://www.acmicpc.net/problem/7576철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다.창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관..

[Python] 7569 - 토마토

문제7569번: 토마토문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다.https://www.acmicpc.net/problem/7569철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다.창고에 보관되는 토마토들 중에는 잘..

[Python] 6064 - 카잉 달력

문제6064번: 카잉 달력최근에 ICPC 탐사대는 남아메리카의 잉카 제국이 놀라운 문명을 지닌 카잉 제국을 토대로 하여 세워졌다는 사실을 발견했다. 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있다. 그들은 M과 N보다 작거나 같은 두 개의 자연수 x, y를 가지고 각 년도를 와 같은 형식으로 표현하였다. 그들은 이 세상의 시초에 해당하는 첫 번째 해를 로 표현하고, 두 번째 해를 로 표현하였다.https://www.acmicpc.net/problem/6064최근에 ICPC 탐사대는 남아메리카의 잉카 제국이 놀라운 문명을 지닌 카잉 제국을 토대로 하여 세워졌다는 사실을 발견했다. 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있다. 그들은 M과 N보다 작거나 같은 두 개의 자연수 ..

[Python] 5525 - IOI

문제5525번: IOIOIhttps://www.acmicpc.net/problem/5525N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다.I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 군데 포함되어 있는지 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. 둘째 줄에는 S의 길이 M이 주어지며, 셋째 줄에 S가 주어진다. (1 ≤ N ≤ 1,000,000, 2N+1 ≤ M ≤ 1,000,000)출력S에 PN이 몇 군데 포함되어 있는지 출력한다.풀이문자열의 반복 횟수를 찾는 문제다. 자세히는 I와 O가 반복되는 문자 덩어리?가 주어진 문자열에서 몇번이나 나오는지 확인하는 것이다. 1~2트처음에는 문자열의 인덱스를 기반으로..

[Python] 5430 - AC

문제5430번: AChttps://www.acmicpc.net/problem/5430선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다.함수 R은 배열에 있는 숫자의 순서를 뒤집는 함수이고, D는 첫 번째 숫자를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다.함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. 예를 들어, "RDD"는 배열을 뒤집은 다음 처음 두 숫자를 버리는 함수이다.배열의 초기값과 수행할 함수가 주어졌을 때, 최종 결과를 구하는 프로그램을 작성하시오.입력첫째 줄에 ..

[Python] 11723 - 집합

문제비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오.add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다.check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20)toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가한다. (1 ≤ x ≤ 20)all: S를 {1, 2, ..., 20} 으로 바꾼다.empty: S를 공집합으로 바꾼다.입력첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다.둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하..

React 앱 배포하기 (feat. Nginx, Docker, AWS)

React 앱을 만들었다는 가정하에 진행되며 Nginx에 대한 개념없이 단순히 사용하고 있음을 미리 알립니다.Make docker image using NginxNginx 서버를 사용해 제작한 React 앱을 도커 이미지로 만들어보자. 도커 이미지로 만들고 도커 허브에 올리면 Github처럼 어디서든 받아서 컨테이너를 실행시킬 수 있고 수정해서 다시 올릴 수 있다. Create Nginx server Container 먼저 React 앱을 동작시킬 Nginx 서버를 도커 이미지를 통해 생성한다. Nginx는 도커 허브에서 공식 이미지를 지원하고 있으므로 바로 다운받아 실행이 가능하다. 1️⃣ Nginx 컨테이너 생성 로컬 터미널에서 docker run명령을 통해 Nginx 이미지를 받아 컨테이너를 생성한..

Develop/Docker 2021.03.10

[AWS] IAM

이 글은 A Cloud Guru의 예제를 바탕으로 작성되었습니다. IAM 이란?AWS에서 제공하는 유저 관리 서비스로 API/서비스에 대한 계정과 접근 권한을 관리하도록 돕는 역할을 한다. 아래 그림을 보면 왼쪽에 AWS 계정에 3개의 그룹이 있고 각 그룹에 사용자가 속해있는 모습을 볼 수 있다. 이렇게 사용자와 그룹이 구성되면 해당 그룹에 권한을 부여해 그림 오른쪽 부분과 같이 각 사용자 혹은 그룹별로 할 수 있는 일을 정할 수 있게 된다. 출처 : A Cloud Guru 실습사용자와 그룹은 이미 생성되어있다. 이를 전제로 총 3가지 작업을 해본다. 사용자와 그룹의 정보를 확인한다. (무엇을 확인할 수 있는지)그룹에 사용자를 추가해본다. (어떻게 추가할 수 있는지)각 사용자별로 권한이 다를때 실제 권한..

Develop/AWS 2021.02.28

[Python] 1074 - Z

문제 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, N > 1이 라서 왼쪽 위에 있는 칸이 하나가 아니라면, 배열을 크기가 2N-1 × 2N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다. 다음 예는 22 × 22 크기의 배열을 방문한 순서이다. N이 주어졌을 때, r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오. 다음은 N=3일 때의 예이다. 입력 첫째 줄에 정수 N, r, c가 주어진다. 출력 r행 c열을 몇 번째로 방문했는지 출력한다. 풀이 완전탐색 처음에는 시간 초과가 날지도 모르지만 재귀로 4분할을 이어가는 함수를 짜고 r과 c를 입..

[Python] 2667 - 단지번호붙이기

문제2667번: 단지번호붙이기문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다.https://www.acmicpc.net/problem/2667과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이..