전체 글 24

[Hackerrank] Reverse a doubly linked list

Doubly Linked List 뒤집기 문제 요약 (HackerRank)문제 설명주어진 이중 연결 리스트(Doubly Linked List)의 head 노드 포인터를 기준으로 리스트의 순서를 반대로 뒤집는 문제입니다.즉, 각 노드의 next와 prev 포인터를 서로 교환하여 리스트의 방향을 반전시키고, 뒤집힌 리스트의 head 노드를 반환해야 합니다.입력 형식첫 번째 줄에 테스트 케이스 개수 ttt가 주어집니다. (1 ≤ t ≤ 10)각 테스트 케이스마다:첫 번째 줄에 노드의 개수 n이 주어집니다. (0 ≤ n ≤ 1000)다음 n 줄에 노드의 데이터 값이 주어집니다. (0 ≤ 데이터 ≤ 1000)출력 형식뒤집힌 연결 리스트의 head 노드를 반환합니다.프로그램은 리스트의 데이터를 공백으로 구분하여 출..

코딩테스트 2025.01.20

[Hackerrank] Reverse a linked list

문제 요약문제 설명:연결 리스트의 첫 번째 노드(head)가 주어졌을 때, 연결 리스트의 모든 노드의 방향을 뒤집어(reverse) 새로운 head를 반환하는 문제입니다.예시:입력: 1 → 2 → 3 → NULL출력: 3 → 2 → 1 → NULL입력 형식첫 번째 줄: 테스트 케이스 개수 ttt (1 ≤ ttt ≤ 10)각 테스트 케이스마다:첫 번째 줄: 연결 리스트의 노드 개수 nnn (1 ≤ nnn ≤ 1000)다음 n줄: 노드의 값 (1 ≤ 값 ≤ 1000)출력 형식뒤집힌 연결 리스트를 출력합니다.제약 조건입력값은 최대 10개의 테스트 케이스와 1,000개의 노드로 제한됩니다.노드 값은 1부터 1000까지의 정수입니다.해결 아이디어연결 리스트를 순회하며 next 포인터 방향을 반대로 바꿉니다.pre..

코딩테스트 2025.01.19

[Hackerrank] Climbing the Leaderboard

문제 설명아케이드 게임 플레이어가 리더보드에서 자신의 순위를 확인하고 기록하는 상황입니다.리더보드는 Dense Ranking 방식을 사용합니다.Dense Ranking 규칙:점수가 높은 플레이어가 더 높은 순위를 가집니다.동일한 점수를 가진 플레이어는 같은 순위를 가지며, 다음 순위는 건너뜁니다.예시:ranked = [100, 90, 90, 80, 75, 60]player = [50, 65, 77, 90, 102]리더보드 순위는 [1, 2, 2, 3, 4, 5]입니다.플레이어의 점수별 순위는 다음과 같습니다:50 → 6위65 → 5위77 → 4위90 → 2위102 → 1위결과: [6, 5, 4, 2, 1]입력 형식n: 리더보드에 있는 점수의 개수ranked: 리더보드 점수 리스트 (내림차순)m: 플레이어..

코딩테스트 2025.01.18

[Hackerrank] Sherlock and the Valid String

Sherlock and the Valid String주어진 문자열이 "유효한 문자열(valid string)"인지 판단하는 문제입니다. 문자열이 유효하려면 다음 두 조건 중 하나를 만족해야 합니다:모든 문자의 등장 빈도가 동일해야 한다.문자 하나를 제거했을 때 나머지 문자의 등장 빈도가 동일해야 한다.입력영어 소문자로 구성된 문자열 sss (1 ≤ |s| ≤ 10⁵)출력문자열이 유효하면 "YES", 유효하지 않으면 "NO"를 출력한다.예제 입력 및 출력입력: "aabbcc"출력: "YES"설명: 모든 문자가 2번씩 등장하므로 유효함.입력: "aabbc"출력: "YES"설명: 문자 c를 하나 제거하면 "aabb"가 되어 모든 문자의 빈도가 동일함.입력: "aabbcd"출력: "NO"설명: 한 문자를 제거해..

코딩테스트 2025.01.17

[Hackerrank] Goodland Electricity

문제 설명Goodland에는 일렬로 나열된 여러 도시들이 있습니다. 각 도시는 양 옆 도시와의 거리가 1입니다. 정부는 모든 도시에 전기를 공급하기 위해 최소한의 발전소를 설치하고자 합니다.배열 arr은 각 도시가 발전소 설치에 적합한지 여부를 나타냅니다.1: 발전소 설치 가능0: 발전소 설치 불가능발전소는 설치된 위치를 기준으로 좌우로 k - 1칸까지 전기를 공급할 수 있습니다.모든 도시에 전기를 공급하기 위해 필요한 최소 발전소 개수를 구하세요.만약 모든 도시에 전기를 공급할 수 없다면 **-1**을 출력합니다.입력첫 번째 줄: 두 정수 n(도시의 수)과 k(발전소의 전기 공급 범위)두 번째 줄: 길이가 n인 배열 arr (발전소 설치 가능 여부)출력모든 도시에 전기를 공급하기 위해 필요한 최소 발전..

코딩테스트 2025.01.16

[Hackerrank] The Bomberman Game

문제 설명Bomberman은 직사각형 격자(grid)에서 폭탄을 설치하고 터뜨리는 게임입니다. 각 칸은 폭탄(O)이 있거나 비어있음(.)을 나타냅니다.게임은 다음 규칙에 따라 진행됩니다:1초: Bomberman은 아무 행동도 하지 않습니다.짝수 초(2, 4, 6, ...): 비어있는 모든 칸에 폭탄을 설치합니다.폭탄은 설치 후 정확히 3초 후에 폭발하며, 폭발 시 상하좌우 인접한 칸도 함께 비워집니다.동시에 설치된 폭탄은 동시에 폭발합니다.폭발로 인해 비워진 칸에는 즉시 폭탄이 설치되지 않습니다.목표**초기 격자 상태(grid)**와 시간 n이 주어질 때, n초 후의 격자 상태를 출력하시오.입력 형식첫 번째 줄: 세 개의 정수 r(행의 수), c(열의 수), n(시뮬레이션 시간).다음 r줄: 초기 격자 ..

코딩테스트 2025.01.15

[Hackerrank] New Year Chaos

1일 1코테 문제 분석을 목표로 하고 있고 첫 번째 문제이다.놀이공원 롤러코스터를 타기 위해 사람들이 줄을 서 있습니다. 각 사람은 1부터 n까지 자신의 초기 위치가 적힌 스티커를 붙이고 있습니다.사람들은 바로 앞에 있는 사람에게 뇌물을 주어 위치를 바꿀 수 있습니다.하지만, 한 사람이 최대 2번까지만 뇌물을 줄 수 있습니다.최종 줄이 주어졌을 때, 뇌물이 몇 번 발생했는지 계산하세요.만약 어떤 사람이 2번 이상 뇌물을 주었다면, "Too chaotic"을 출력해야 합니다.입력 형식첫 줄: 테스트 케이스의 수 t각 테스트 케이스는 다음과 같이 구성됩니다:n: 줄에 서 있는 사람의 수.q: 최종 줄의 상태 (스페이스로 구분된 정수 배열).출력 형식각 테스트 케이스마다:뇌물 횟수를 출력하거나,"Too cha..

코딩테스트 2025.01.14

Upstage AI Lab 6기 경진대회 01

Upstage AI lab에서 첫 번째 경진 대회를 진행하였다. 이런 미니 캐글 대회에 출전하는 것은 처음이었는데, 좋은 성적을 얻기 위해 정말 고민을 많이 했고, 배운 점이 많았다. 먼저 대회의 주제는 다음과 같았다.소개House Price Prediction 경진대회는 주어진 데이터를 활용하여 서울의 아파트 실거래가를 효과적으로 예측하는 모델을 개발하는 대회입니다. 부동산은 의식주에서의 주로 중요한 요소 중 하나입니다. 이러한 부동산은 아파트 자체의 가치도 중요하고, 주변 요소 (강, 공원, 백화점 등)에 의해서도 영향을 받아 시간에 따라 가격이 많이 변동합니다. 개인에 입장에서는 더 싼 가격에 좋은 집을 찾고 싶고, 판매자의 입장에서는 적절한 가격에 집을 판매하기를 원합니다. 부동산 실거래가의 예측..

프로젝트 2025.01.11

Upstage AI Lab 6기 Git과 Github

이번 주 Upstage AI Lab 6기에서는 Git과 Github에 관련된 내용을 학습했다. Git은 코드 버전 관리를 효율적으로 돕는 도구이고, Github는 이를 기반으로 협업과 프로젝트 관리를 지원하는 플랫폼이다.  Git의 기본 사용법부터 고급 기능까지 다루었으며, 협업과 프로젝트 관리에 필요한 실무적인 팁도 배울 수 있었다. 이번 학습은 코드 관리와 협업의 중요성을 새롭게 깨닫는 계기가 되었다.1. Git과 Github란?Git은 분산형 버전 관리 시스템으로, 코드를 효율적으로 관리하고 원하는 시점으로 되돌리거나 브랜치를 만들어 독립적으로 개발할 수 있다. Github는 Git을 기반으로 하는 클라우드 플랫폼으로, Issues, Pull Request, Projects 등을 통해 팀 협업을 효..

upstage ai lab 2024.12.16

Upstage AI Lab 6기 컴퓨터 공학 개론

이번 주 Upstage AI Lab 6기에서는 컴퓨터 공학의 기본 개념과 자료구조 및 알고리즘에 관련된 내용을 학습했다. 1. 컴퓨터 공학이란?1-1. 정의 및 범위컴퓨터 공학(CSE)은 계산, 자동화, 정보 처리를 포함한 컴퓨터 관련 기술을 연구하는 학문이다. 알고리즘, 계산 이론, 소프트웨어 설계와 구현, 하드웨어 설계 등 다양한 영역을 포괄한다.1-2. 주요 학습 분야프로그래밍 언어 기초(C, Java, Python 등)자료구조와 알고리즘 → 효율적 문제 해결의 기본컴퓨터 아키텍처 → 하드웨어 및 시스템 구조 이해운영체제 → Windows, Linux 등 시스템 관리 원리컴퓨터 네트워크 → 인터넷 및 데이터 통신 이해데이터베이스 → 데이터 관리 및 활용소프트웨어 공학 → 소프트웨어 설계 및 개발 방..

upstage ai lab 2024.12.08