문제https://www.acmicpc.net/problem/1260그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과..
문제 상황데이터를 로드하는 과정 혹은 콘텐츠가 없을 때, 푸터가 화면의 중간까지 올라온다. 사용자에게 일관적인 UI를 제공하기 위해 콘텐츠의 길이가 짧을 때에도 푸터를 항상 화면 아래에 고정하는 방향으로 수정했다. Next.js 및 Tailwind 구현 코드📌 Next.js 및 Tailwind를 기준으로 설명한다./* globals.css */html,body { min-height: 100vh; ✅ 화면 전체 높이 확보}`global.css` 파일에서 `html, body`에 `min-height: 100vh`를 추가한다. export default function RootLayout({ children,}: { children: React.ReactNode;}) { return ( ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12953두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한사항arr은 길이 1이상, 15이하인 배열입니다.arr의 원소는 100 이하인 자연수입니다. 입출력 예 나의 풀이def solution(arr): arr.sort() cnt..
Cheat Sheet 명령어의 구조연산 코드: 명령어가 수행할 연산오퍼랜드: 연산에 사용할 데이터가 저장된 위치 (또는 데이터 그 자체)주소 필드라고도 부름, 명령어 안에 여러 개의 오퍼랜드가 있을 수 있음 주소 지정 방식유효 주소: 연산 코드에 사용할 데이터가 저장된 위치주소 지정 방식은 유효 주소를 찾는 방법즉시 주소 지정 방식: 연산에 사용할 데이터 그 자체를 명시직접 주소 지정 방식: 유효 주소를 명시 (메모리 주소)간접 주소 지정 방식: 유효 주소의 주소를 명시레지스터 주소 지정 방식: 유효 주소를 명시 (레지스터 이름)레지스터 간접 주소 지정 방식: 유효 주소를 저장한 레지스터 이름을 명시 (데이터는 메모리에 저장) 명령어의 구조명령어는 연산 코드와 오퍼랜드로 구성됨연산 코드는 연산자, ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/161990코딩테스트를 준비하는 머쓱이는 프로그래머스에서 문제를 풀고 나중에 다시 코드를 보면서 공부하려고 작성한 코드를 컴퓨터 바탕화면에 아무 위치에나 저장해 둡니다. 저장한 코드가 많아지면서 머쓱이는 본인의 컴퓨터 바탕화면이 너무 지저분하다고 생각했습니다. 프로그래머스에서 작성했던 코드는 그 문제에 가서 다시 볼 수 있기 때문에 저장해 둔 파일들을 전부 삭제하기로 했습니다.컴퓨터 바탕화면은 각 칸이 정사각형인 격자판입니다. 이때 컴퓨터 바탕화면의 상태를 나타낸 문자열 배열 wallpaper가 주어집니다. 파일들은 바탕화면의 격자칸에 위치하고 바탕화면의 격자점들은 바탕화면의 가장 왼쪽 위를 (0,..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12914효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는(1칸, 1칸, 1칸, 1칸)(1칸, 2칸, 1칸)(1칸, 1칸, 2칸)(2칸, 1칸, 1칸)(2칸, 2칸)의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 제한사항n은 1 이상, 2000 이하인 정수입니다. 입출력 예입출력..
문제https://www.acmicpc.net/problem/11659수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 입력첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 출력총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. 예제 나의 풀이1import sysinput = sys.stdin.readlineN, M = map(int, input().split())nums = list(map(int, input().split()))li = [0]sum = 0for num in..
Cheat Sheet 고급 언어와 저급 언어고급 언어: 사람이 이해하기 쉬운 언어 → Java, Python 등저급 언어:컴퓨터가 직접 이해하고 실행할 수 있는 언어 (명령어)기계어: 0과 1로 이루어진 명령어 비트어셈블리 언어: 기계어를 사람이 이해하기 쉽게 번역한 언어 컴파일 언어와 인터프리터 언어컴파일 언어: 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어 (C)목적 코드: 컴파일 결과로 변환된 저급 언어오류 발생 시 전체 코드 실행X인터프리터 언어: 소스 코드가 한 줄씩 차례로 변환되어 실행되는 고급 언어 (Python)오류 발생 하더라도 오류 발생 전까지의 코드는 올바르게 수행됨일반적으로 인터프리터 언어가 더 느림 고급 언어와 저급 언어고급 언어: 사람이 이해하고 작성하기 쉽게 ..
문제https://www.acmicpc.net/problem/481170세 박종수 할아버지는 매일매일 약 반알을 먹는다. 손녀 선영이는 종수 할아버지에게 약이 N개 담긴 병을 선물로 주었다.첫째 날에 종수는 병에서 약 하나를 꺼낸다. 그 다음, 그 약을 반으로 쪼개서 한 조각은 먹고, 다른 조각은 다시 병에 넣는다.다음 날부터 종수는 병에서 약을 하나 꺼낸다. (약은 한 조각 전체 일 수도 있고, 쪼갠 반 조각 일 수도 있다) 반 조각이라면 그 약을 먹고, 아니라면 반을 쪼개서 한 조각을 먹고, 다른 조각은 다시 병에 넣는다.종수는 손녀에게 한 조각을 꺼낸 날에는 W를, 반 조각을 꺼낸 날에는 H 보낸다. 손녀는 할아버지에게 받은 문자를 종이에 기록해 놓는다. 총 2N일이 지나면 길이가 2N인 문자열이 ..
Dynamic Metadata가 필요한 경우검색 페이지에서 검색어에 따라 `title` 항목이 `{검색어} 검색 결과 | 웹소설 캘린더`라는 동적인 메타데이터를 생성하고 싶었다. 이처럼 페이지의 콘텐츠나 URL 파라미터에 따라 메타데이터가 변경되어야 하는 경우에는 동적 메타데이터 생성이 필요하다. Next.js의 Metadata 생성 방법Next.js는 SEO를 개선하기 위해 애플리케이션 메타데이터(`head` 요소 내부의 `meta` 및 `link` 태그)를 자동으로 생성해 주는 API를 제공한다. Static Metadata (정적 메타데이터)// layout.tsximport type { Metadata } from 'next' export const metadata: Metadata = { ti..