본문 바로가기
728x90
반응형

분류 전체보기322

[CodeTree] 격자 칠하기 2 https://www.codetree.ai/missions/8/problems/painting-the-grid-2/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 알고리즘bfsparametric search 이 문제는 결정 문제로 변환한 뒤 이진 탐색을 진행하는 평범한 parametric search 문제이다. bfs와 parametric search 기본 지식이 있으면 풀 수 있는 문제지만 초반에 시간 복잡도 계산을 잘못해서 한참 삽질을 해서 가져와 보았다. 이진 탐색으로 d의 범위를 좁히면서 조건을 만족하는 가장 작은 d를 찾으면.. 2024. 8. 18.
[CodeTree] 우리는 하나 https://www.codetree.ai/missions/2/problems/we-are-the-one/description 알고리즘조합bfsn x n개의 도시 중 k개의 도시를 선택한 뒤 각각의 경우에 대해 bfs를 진행하면 되는 이유다. 문제 자체는 평범하지만 시간 초과가 발생했고 조합에서 시간을 줄일 수 있는 문제라서 가져와보았다. 풀이 과정변수 import sysinput = sys.stdin.readline# 동서남북dx = [0, 0, 1, -1]dy = [1, -1, 0, 0]# n : 격자의 크기 n x n# k : 고를 도시의 수 # u : 최저 높이 차# d : 최고 높이 차n, k, u, d = map(int, input().split())arr = [list(map(int, inp.. 2024. 8. 17.
[Javascript] 객체 지향 프로그래밍의 정의 객체 지향 프로그래밍객체 지향 프로그래밍을 설명하기 위해 현실 세계를 비유로 많이 든다. 현실 세계에 실재하는 대상, 예를 들어 책상, 의자, 노트북 등 실재하는 대상을 소프트웨어 세계에서 표현할 때 “객체”라고 표현한다. 현실 세계에서 인간이 의자에 앉아 책상 위에 있는 노트북을 한다고 해보자. 이를 소프트웨어 세계에서 표현한다면 “객체”는 인간, 의자, 책상, 노트북과 같이 실재하는 대상이 될 것이다. 또한 각 대상들은 다른 대상과 식별할 수 있는 고유한 속성을 가지고 있고 동작을 가지고 있다. 인간은 남들과 식별할 수 있는 이름, 키, 몸무게와 같은 속성을 가지고 있고 숨 쉬기, 걷기와 같은 동작을 가지고 있다. 그리고 인간은 의자, 책상, 노트북과 같은 다양한 대상들과 유기적으로 연관되어 다양한 .. 2024. 8. 15.
함수형 프로그래밍 개념 (불변성, 순수 함수, 참조 투명성, 1급 함수) 함수형 프로그래밍에 대해 이해하기 위해서 다음과 같은 개념을 알아야 한다. 불변성순수 함수참조 투명성1급 객체1급 함수 불변성불변성이란 값이나 상태를 변경할 수 없는 것을 의미한다. 한 번 생성된 데이터의 값이나 상태를 변경하지 않고 새로운 값을 할당하는 것을 의미한다. 자바스크립트를 기준으로 불변성에 대해 자세히 알아보자. 구체적으로는 ”메모리 힙 영역의 값이 변하지 않는다”라고 해석할 수 있다. 원시 타입과 참조 타입을 기준으로 불변성에 대해 알아보자. 자바스크립트 기준으로 원시 타입은 다음 종류들이 있다.Boolean,StringNumberNullundefinedSymbol자바스크립트 기준으로 참조 타입은 다음 종류들이 있다. ObjectArrayFunctionDateMapSet 원시 타입은 cal.. 2024. 8. 14.
728x90
반응형