본문 바로가기
반응형

전공 관련21

프로그래머스 프렌즈4블록 문제 설명 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2에 포함될 수 있으며, 지워지는 조건에 만족하는 2×2 모양이 여러 개 있다면 한꺼번에 지워진다. 블록이 지워진 후에 위에 있는 블록이 아래로 떨어져 빈 공간을 채우게 된다. 만약 빈 공간을 채운 후에 다시 2×2 형태로 같은 모양의 블록이 모이면 다시 지워지고 떨어지고를 반복하게 된다. 위 초기 배치를 문자로 표시하면 아래와 같.. 2022. 10. 6.
백준 17178 문제 아이즈원의 팬인 시온이는 드디어 티켓팅에 성공하여 콘서트를 갔다. 콘서트장에 일찍 도착한 시온이는 기대하며 입장을 위해 줄을 섰다. 하지만 아이즈원의 인기대로 시온이를 포함한 많은 팬이 줄을 서고 있다. 콘서트의 입장이 시작되었고 입장은 티켓 번호 순서대로 이루어졌다. 하지만 입구에 너무 많은 팬이 몰려 아무도 이동할 수 없는 상황이 되었고, 결국 주최 측에서 인원을 정렬시켜 다음과 같이 간신히 사람 한 줄이 설 수 있는 대기 공간을 만들었다. 주최 측은 번호표 순서대로만 통과할 수 있는 입구를 만들어 두었지만, 줄에서는 마구잡이로 사람들이 기다리고 있다. 대기 공간을 이용하여 입장이 원활히 이루어지도록 하려고 한다. 콘서트장에 사람들이 제대로 들어갈 수 있는지 확인해보자. 사람들은 현재 5명씩 N.. 2022. 9. 20.
백준 2504 문제 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X가 올바른 괄호열이면 ‘(X)’이나 ‘[X]’도 모두 올바른 괄호열이 된다. X와 Y 모두 올바른 괄호열이라면 이들을 결합한 XY도 올바른 괄호열이 된다. 예를 들어 ‘(()[[]])’나 ‘(())[][]’ 는 올바른 괄호열이지만 ‘([)]’ 나 ‘(()()[]’ 은 모두 올바른 괄호열이 아니다. 우리는 어떤 올바른 괄호열 X에 대하여 그 괄호열의 값(괄호값)을 아래와 같이 정의하고 값(X)로 표시한다. ‘()’ 인 괄호열의 값은 2이다. ‘[]’ 인 괄호열의 값은 3이다. ‘(X)’ 의 괄호값은 2×값.. 2022. 9. 18.
시간복잡도 정리 1. 점근표기법(Asymptotic Notation) 1) 빅 오 표기법(O(n)) 빅 오 표기법의 정의는 다음과 같다. 모든 N≥N₀에 대해 f(N)≤cg(N)이 성립하는 양의 상수 c와 N₀가 존재하면, f(N)=O(g(N))이다. 이때 g(N)이 f(N)의 상한이 된다. 예를 들어 f(N)= 4N²+N+1 이라는 식이 있을 때 2보다 큰 N에 대해서 g(N)=N², c=5라면 항상 f(N)≤cg(N)이 성립한다. 주의할 점은 g(N)을 찾을 때 가장 차수가 낮은 함수를 선택하는 것이다. 차수가 높은 함수를 선택하게 될 경우 시간복잡도를 과장해서 추정하게 되기 때문이다. 2) 빅 오메가 표기법(Ω(n)) 빅 오메가 표기법의 정의는 다음과 같다. 모든 N≥N₀에 대해 f(N)≥cg(N)이 성립하는 양의.. 2021. 9. 8.
[프로그래밍 언어 구조론] 1장 정리 1. Programming language의 역사 1) Machine language(machine code) 특징: - 폰 노이만이 고안한 컴퓨터 아키텍쳐는 operator을 통해 명령어를 연속적인 이진코드로 변환할 수 있었다. 이 이진코드들을 machine langauge라고 한다. - machine laguage들은 fetch, decode, excution 과정을 거쳐 실행된다. 단점: - 사람이 한 눈에 보고 이해하기 어렵다. - 에러가 발생하기도 쉽다. 2) Assembly language 특징: - assembly language는 명령 코드와 메모리 위치를 표현하는 연상기호의 집합이다. - 어셈블러는 assembly language를 machine code로 변환하고, 로더는 machine.. 2021. 9. 6.
백준 2109 처음에는 우선순위 큐를 사용해서 비용이 크고 기간이 짧은 강연을 먼저 고르면 될 줄 알았다. 그런데 4 5 1 10 2 20 2 10 3 이러한 예시가 들어올 경우 5 + 2 + 10 이 아니라 10 + 20 + 10 을 선택해야 했다. 왜냐하면 기간 내에 강연을 가는 것도 가능하기 때문이다. 그래서 아예 새로운 방법을 사용해야 했다. 1. 최대 기간 maxDate 잡기 2. 비용이 큰 순서대로 입력값 정렬하기 3. maxDate에서 하루씩 줄여가며 가능한 강연 찾기 위 예시에서는 maxDate = 3 이 될 것이다. 비용이 큰 순서대로 입력값을 정렬하면 [[20, 2], [10, 2], [10, 3], [5, 1]] 이 될 것이다. 그러면 3에서 부터 2, 1 와 같이 1씩 줄여가면서 해당 날짜에 가능.. 2021. 5. 2.
반응형