개발 공부(42)
-
백준 온라인 저지, 구현/15683번: 감시 ( 파이썬 / 백준 골드문제, 삼성 SW 기출 문제)
문제 https://www.acmicpc.net/problem/15683 문제 정의 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. CCTV는 감시할 수 있는 방향에 있는 칸 전체를 감시할 수 있다. 사무실에는 벽이 있는데, CCTV는 벽을 통과할 수 없다. CCTV가 감시할 수 없는 영역은 사각지대라고 한다.1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감시하는 방향이 서로 반대방향이어야 하고, 3번은 직각 방향이어야 한다. 4번은 세 방향, 5번은 네 방향을..
2021.07.20 -
웹파이썬 프로그래밍 - 조건문(Conditional statement)
지난 학습 복습: Boolean(문자열) - 논리 연산자는 and, or, not이 있다. - 비교 연산자는 >, >=, > True A >> True ab >> True abc >> True 가 >> True 1. 조건문(Conditional Statement) - if, elif, else를 사용해 조건문을 표현한다. * if: 가장 최우선으로 검토하는 조건이다. 해당 조건이 true면 해당 조건문의 block이 실행된다. * elif: 위의 if문이 false일 때 검토하는 조건이다. 해당 조건이 true면 해당 조건문의 block이 실행된다. * else: 모든 if문이 false 일 때 실행하는 조건문이다. 별다른 조건이 들어가지 않고, ..
2021.07.08 -
백준 온라인 저널, 그리디 알고리즘/1543번 :문서 검색(파이썬)
문제 https://www.acmicpc.net/problem/1543 문제 정의 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어, 문서가 abababa이고, 그리고 찾으려는 단어가 ababa라면, 세준이의 이 함수는 이 단어를 0번부터 찾을 수 있고, 2번부터도 찾을 수 있다. 그러나 동시에 셀 수는 없다. 세준이는 문서와 검색하려는 단어가 주어졌을 때, 그 단어가 최대 몇 번 중복되지 않게 등장하는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 문서가 주어진다. 문서의 길이는 최대 2500이다. 둘째 줄에 검색하고 싶은 단어가 주어진다. 이 길이..
2021.07.06 -
자바스크립트_2 / 변수 선언과 데이터 타입, 그리고 다이나믹 타이핑
1. Variable - 변경될 수 있는 값 - 자바스크립트에서는 let을 사용하여 변수를 표현한다. (ES6에서 추가됨) - 이전까지는 var를 사용해 변수를 표현했지만 변수를 선언하기 전에 값을 할당할수도 있고, 출력또한 할 수 있는 문제(var hoisting)가 있다. 또한 block scope이 적용되지 않아 지금은 사용하지 않는 추세이다. - 어플리케이션마다 사용할 수 있는 메모리가 제한적으로 한정되어있다. 이때 변수를 정의하면 일정한 메모리 공간을 가리키는 포인터가 생긴다. 이때 변수에 저장되는 내용들이 메모리에 저장이된다. 1-1. block scope - {}를 사용해서 코드를 작성하면 블럭 밖에서는 해당 코드를 확인할 수 없다. - 메모리 최적화 등을 위해 적재적소에서 사용한다. 1-2..
2021.06.30 -
백준 온라인 저널, 이진 탐색/1920번 : 수 찾기(파이썬)
문제 https://www.acmicpc.net/problem/1920 문제 정의 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -2의 31제곱 보다 크거나 같고 2의 31제곱보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 예제 입력 1 5 4 1 5 2 3 5 1 3 7..
2021.06.30 -
이코테 2021, BFS/미로 탈출 (파이썬)
문제 정의 동빈이는 N x M 크기의 직사각형 형태의 미로에 갇혔습니다. 미로에는 여러 마리의 괴물이 있어 이를 피해 탈출해야합니다. 동빈이의 위치는 (1, 1)이며 미로의 출구는 (N, M)의 위치에 존재하며 한 번에 한 칸씩 이동할 수 있습니다. 이때 괴물이 있는 부분은 0으로, 괴물이 없는 부분은 1로 표시되어있습니다. 미로는 반드시 탈출할 수 있는 형태로 제시됩니다. 이때 동빈이가 탈출하기 위해 움직여야하는 최소 칸의 개수를 구하세요. 칸을 셀 때는 시작 칸과 마지막 칸을 모두 포함해서 계산합니다 입력 첫 번째 줄에 두 정수 N, M이 주어진다. (4
2021.06.30