전체 글
-
[코딩 테스트] 동영상 재생기코딩테스트 2025. 7. 1. 23:34
매일매일 코딩테스트 오늘의 잔디채우기는프로그래머스 Lv.1 - 동영상 재생기문제 설명사용자는 prev, next, 오프닝 건너뛰기 기능을 이용해 동영상을 조작할 수 있다.시간은 "MM:SS" 형식의 문자열로 주어지고, 동영상 재생 위치는 초 단위로 이동한다. 기능 요약:prev: 현재 위치에서 10초 전으로 이동 (0초 미만이면 "00:00" 고정)next: 현재 위치에서 10초 후로 이동 (영상 길이 초과 시 영상 끝으로 고정)오프닝 건너뛰기: 명령 수행 전 or 후에 현재 위치가 오프닝 범위 (op_start ~ op_end) 내에 있다면 → op_end로 즉시 이동핵심 포인트"MM:SS" 포맷을 초(int)로 변환하여 계산하고, 결과를 다시 "MM:SS"로 바꾸는 포맷 변환 함수가 필수오프닝 구간은..
-
[코딩테스트] 숫자 짝꿍코딩테스트 2025. 6. 23. 02:31
매일매일 코딩테스트 오늘의 잔디채우기는프로그래머스 Lv.1 - 숫자 짝꿍문제 설명두 문자열 X, Y는 각각 숫자로만 이루어진 문자열이다.두 문자열에서 공통으로 포함된 숫자만 추출하여 가장 큰 숫자를 만들고자 한다.조건 요약:각 문자열에 존재하는 숫자는 중복 가능하며,두 수에서 공통으로 등장한 숫자의 개수만큼 사용 가능짝꿍이 없다면 "-1"을 리턴만들어지는 수가 0만으로 이루어져 있다면 "0"을 리턴핵심 포인트각 숫자(0~9)의 등장 횟수를 X, Y에서 각각 세어두고최소 등장 횟수만큼 결과에 포함시키는 것이 핵심마지막에는 결과 숫자들을 내림차순 정렬해서 문자열로 리턴예외 처리: 짝꿍 없음 → -1, 모든 숫자가 0 → "0" 조건 정리조건처리 방법X와 Y에 공통으로 나타나는 수가 없을 경우"-1" 리턴짝..
-
[UE5] 액터의 생명주기카테고리 없음 2025. 6. 20. 01:53
액터(Actor)의 생명주기란?언리얼 엔진에서 Actor는 월드에 존재하는 모든 게임 오브젝트의 기본 단위이며, 생성부터 소멸까지 여러 생명주기 함수들을 거친다.주요 생명주기 흐름순서 함수명 설명1Constructor객체가 메모리에 할당될 때 호출 (에디터/런타임 공통)2OnConstruction()액터가 스폰되거나 속성이 수정될 때 호출 (에디터에서도 호출됨)3BeginPlay()게임 시작 시 호출 (런타임에서만 호출)4Tick(float DeltaTime)매 프레임 호출되는 함수5EndPlay()액터가 제거될 때 호출6Destroyed()액터가 완전히 제거된 후 호출SpawnActor vs SpawnActorDeferred 차이SpawnActorConstructor, OnConstruction, Be..
-
[코딩테스트] 대충 만든 자판코딩테스트 2025. 6. 19. 23:59
매일매일 코딩테스트오늘의 잔디채우기는프로그래머스 Lv.1 - 대충 만든 자판문제 설명휴대폰 자판은 컴퓨터 키보드와 다르게 한 키에 여러 개의 문자가 할당돼 있을 수 있다.한 문자를 입력하려면 해당 키를 할당된 순서대로 몇 번 눌러야 한다.예를 들어"A", "B", "C"가 1번 키에 순서대로 할당돼 있다면1번 누르면 "A"2번 누르면 "B"3번 누르면 "C"문제 조건 요약각 줄마다 키가 할당된 문자들이 담긴 문자열 배열 keymap입력해야 하는 문자열 목록 targets목표: targets의 각 문자열을 작성하기 위해 눌러야 하는 최소 키 누름 수 구하기특정 문자가 keymap 어디에도 없으면 -1 반환입출력 예시풀이 C++내 풀이keymap은 한 줄이 한 키에 대응된다고 보고,targets의 각 문자에..
-
[코딩테스트] 문자열 나누기카테고리 없음 2025. 6. 19. 18:23
매일매일 코딩테스트오늘의 잔디채우기는프로그래머스 Lv.1 - 문자열 나누기문제 설명문자열 s가 입력되었을 때 다음 규칙에 따라 이 문자열을 여러 문자열로 분해하려고 합니다.분해 규칙먼저 첫 글자를 읽습니다. 이 글자를 기준 문자 x라고 합니다.이후 한 글자씩 읽으며x와 같은 글자가 나온 횟수: samex와 다른 글자가 나온 횟수: diff를 각각 셉니다.두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다.남은 부분에 대해 같은 과정을 반복합니다.더 이상 읽을 문자가 없다면 종료합니다.입력 조건1 ≤ s.length() ≤ 10,000s는 영문 소문자로만 이루어져 있습니다.입출력 예시풀이 C++그리디 + 카운팅 조합 문제문자열을 실시간으로 분석해 조건 만족 시 바로 분해while이나 map..
-
[코딩테스트] 둘만의 암호카테고리 없음 2025. 6. 19. 18:19
매일매일 코딩테스트 오늘의 잔디채우기는프로그래머스 Lv.1 - 둘만의 암호문제 설명두 사람이 사용할 비밀 암호문이 있다.이 암호문은 주어진 문자열에서 제외해야 할 문자들을 제거하고,남은 알파벳들을 일정 횟수만큼 밀어서 새로운 문자열로 만드는 방식이다. 조건 요약:문자열 s에 포함된 알파벳 중 skip에 포함된 문자는 무시하고 밀어야 한다.index만큼 알파벳을 밀 때, 알파벳 'z'를 넘어가면 'a'로 돌아간다.단, skip에 있는 문자는 지나치고, 포함되지 않은 알파벳만 센다.입력 조건1 ≤ s.length() ≤ 501 ≤ skip.length() ≤ 10s, skip은 알파벳 소문자만 포함skip에 있는 문자는 s에 포함되지 않음1 ≤ index ≤ 20입출력 예시풀이 C++1. skip 문자열을 ..
-
[UE5] 잔상 시스템Unreal 2025. 6. 17. 22:22
이번에 구현한 시스템은 타격감, 속도감, 그리고 연출의 몰입도를 높이기 위해 캐릭터의 움직임 또는 특정 액션 시, 과거 프레임의 실루엣을 일정 시간 동안 남겨주는 잔상(Ghost Trail) 시스템이다. UPoseableMeshComponentUPoseableMeshComponent는 SkeletalMesh의 본 구조를 복사하고 고정된 포즈 상태로 유지할 수 있어, 애니메이션 재생 없이 한 순간의 자세를 시각적으로 연출하는 데 유리하다.람다식이란?함수처럼 사용할 수 있는 이름 없는 "즉석 함수" 람다는 외부 변수나 this 포인터를 유연하게 캡처할 수 있어 클래스 내부에서도 간결하게 사용할 수 있음[캡처] (매개변수) -> 반환타입 { // 함수 내용};요소 설명[=, this]=: 외부 지역 ..
-
[UE5] 활 시스템Unreal 2025. 6. 16. 03:33
이번 포스팅은 활 무기를 추가하고 활 시스템을 구현한 내용이다. 우선 활 무기를 추가하려면 기존 무기를 추가했던 방법과 같이 진행하였다.활을 담당할 데이터 에셋을 생성플레이어 입력 처리장착 애니메이션 실행 및 노티파이 호출지정 소켓의 해제 및 부착블루프린트에서 부착을 실행하는 다른 무기와는 다르게 CAttachment_Bow를 생성하였다.플레이어 본 위치에 소켓을 지정하여 해제 및 부착이 가능하게 했다.void ACAttachment_Bow::OnBeginEquip_Implementation(){ Super::OnBeginEquip_Implementation(); AttachTo("Hand_Bow_Left");}void ACAttachment_Bow::OnUnEquip_Implementatio..