본문 바로가기

728x90

전체 글

[백준/BOJ] 백준 코딩 알고리즘 1149번 RGB거리 Python 문제 RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 입력 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 .. 더보기
[백준/BOJ] 백준 코딩 알고리즘 1929번 소수 구하기 Python 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 예제 입력 1 3 16 예제 출력 1 3 5 7 11 13 첫 번째 아이디어 소수 여부를 판별하는 것은 많은 알고리즘 문제에서 등장하고는 하는데, 그럴 때 보통 직관적으로 떠오르는 코드는 다음과 같다 def is_prime(n): if n in [0, 1]: return False else: for i in range(2, n): if n % i == 0: return False return True print(is_.. 더보기
[백준/BOJ] 백준 코딩 알고리즘 11729번 하노이 탑 이동 순서/Python 문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5개인 경우의 예시이다. 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤ N ≤ 20)이 주어진다. 출력 첫째 줄에 옮긴 횟수 K를 출력한다. 두 번째 줄부터 수행 과정을 출력한다. 두 번째 줄부터 K개의 줄에 걸쳐 두 정수 A B를 빈.. 더보기
[백준/BOJ] 백준 코딩 알고리즘 2447번 별 찍기 - 10/Python 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3k이며, 이때 1 ≤ k < 8이다. 출력 첫째 줄부터 N번째 줄까지 별을 출력한다. 예제 입력 1 27 예제 출력 1 **************************.. 더보기
[Naver Boostcamp AI Tech 5기] 변성윤 마스터님의 두런두런 강의 회고 및 후기 🧐 회고 개요 벌써 부캠은 수료일을 한 달도 채 남기지 않았고, 변성윤 마스터님의 두런두런 특강은 마지막 5회차를 남겨두고 있다 빠듯한 부캠 일정과 커리큘럼 속에서 변성윤 마스터님의 특강은 앞으로의 커리어에 대한 고민이나 가끔 우울감으로 빠져드는 정신력의 고갈 상태에 아주 단비같은 존재였다 두런두런 특강은 총 5가지 회차에 나누어서 진행되었는데, 각 회차마다 중요한 정보 공유와 정서적 안정을 위한 경험 공유 시간이 함께 있어서 그런지 매 시간이 유익하면서도 안정감을 찾는데 큰 도움이 되었던 것 같다 특강 별 키워드 일단 각 특강에 대한 주요 키워드를 생각해보면 다음과 같이 정리할 수 있을 것 같다 1. 커리어 변성윤 마스터님의 삶, 메타인지, 회고와 기록 2. 직군 / 삶에 대한 고민 성장 곡선, 데이터 관.. 더보기
[혼공컴운/OS] 입출력장치 | 장치 컨트롤러 | 프로그램 입출력 | 인터럽트 입출력 | DMA 입출력 | 장치 드라이버 장치 컨트롤러 컴퓨터 내부와 정보를 주고 받을 수 있도록 하는 하드웨어적인 통로 장치 컨트롤러의 역할 CPU와 입출력장치 간의 통신 중개: CPU와 입출력장치간 데이터를 주고받을 수 있도록 해줌 오류 검출: 연결된 입출력 장치에 문제가 없는지 오류 검출 및 확인 데이터 버퍼링: 전송률이 다름으로써 생기는 문제를 해결하기 위해 데이터를 버퍼에 저장하여 전달 장치 컨트롤러의 데이터 입출력 방식 프로그램 입출력: 프로그램 속 명령어로 입출력 장치를 제어하는 방식 메모리 맵 입출력: 메모리 접근 주소공간과 입출력 접근용 주소공간을 함께 사용 고립형 입출력: 메모리 접근 주소 공간과 입출력 접근용 주소공간을 독립적으로 사용 (입출력장치 읽기/쓰기 선을 따로 둠으로써 가능해지는 방법임) 인터럽트 기반 입출력: 하드.. 더보기
[Naver Boostcamp AI Tech 5기] 10~12주차 Level2 Project DKT (Deep Knowledge Tracing) [팀 회고 요약] 프로젝트 주제 : DKT DKT는 딥러닝 방법론으로, 학생의 지식상태를 추적하는데 사용된다. 다만 이번 프로젝트에서는 학생 개개인의 지식상태를 예측하기 보다는, 아직 풀지 않은(Unseen) 문제에 대한 정오답을 예측하는 것을 목표로 한다. Iscream 데이터셋을 이용하여 각 학생의 푼 문제 목록과 정답 여부를 통해 최종 문제에 대한 정답 확률을 예측한다. 팀 목표 새로운 베이스라인 작성 : 제공된 베이스라인을 참고하여 우리 팀만의 자체적인 베이스라인 구축 스프린트 방식 도입 : 전반적인 계획 수립을 통한 체계적인 진행을 위해 스프린트 방식 도입 적극적인 Github 도입 : 이전보다 적극적인 issue 사용 및 PR을 통한 코드 리뷰 활성화 다양한 Tool 사용 : Pytorch L.. 더보기
[혼공컴운/OS] 메모리 | DRAM | SRAM | SDRAM | DDR | 논리주소와 물리주소 | 한계 레지스터 | 베이스 레지스터 메모리(RAM)의 종류 메모리의 종류 DRAM: Dynamic RAM → 시간이 지나면 데이터가 사라지며 집적도가 높아 메인 메모리로 주로 사용 SRAM: Static RAM → 시간이 지나도 데이터가 사라지지 않으면 집적도가 낮고 비싸 캐시메모리로 주로 사용 SDRAM: Synchronous Dynamic RAM → 클럭에 따른 데이터 전송에 최적화된 DRAM DDR SDRAM: Double Data Rate Synchronous Dynmamic RAM → 대역폭이 2배 넓어진 Synchorous DRAM 자문자답 DRAM은 왜 집적도가 높을까? DRAM은 한 셀당 한 개의 트렌지스터와 한 개의 커패시터(데이터저장)로 구성 DRM은 집적도를 높이기 위해 선폭을 작게 만듦 또한 집적도를 높이기 위해 소자.. 더보기

728x90