본문 바로가기

전체 글151

프로그래머스 두 큐 합 같게 만들기(투 포인터) 제목에 큐가 들어가서 큐 문제인 줄 알았는데 .. 예전에 잠깐 스치듯이 공부한 슬라이딩 윈도우 옆에 있던 놈이 문득 생각나서 찾아서 풀어봤다...어제까지 끙끙대다가 포기할까 했는데 저 킹받는 점 세개를 도저히 참을 수 없었다. 투 포인터란?1차원 배열이나 리스트에서 특정 조건을 만족하는 부분을 찾거나, 두 요소 간의 관계를 조사하는 데 사용되는 알고리즘 기법이다.슬라이딩 윈도우와 구분되는 점은, 윈도우 사이즈가 필요에 따라 변할 수 있다.그리고 투 포인터는 양 방향으로 이동이 가능하지만 슬라이딩 윈도우는 한 방향으로밖에 이동하지 못한다.이 문제에서 내가 투 포인터를 쓰고자 한 이유는, 두 개의 1차원 배열을 같은 값으로 만들어야 하기에 queue1과 queue2의 시작방향을 두 포인터의 시작지점으로 설정.. 2024. 11. 13.
9일차 오전: 내 게임 class 나누기하나로 합쳐져 있던 걸 나눠봤다.요랬던게요래됐슴당~https://github.com/roqkfchqh/java_miniGame/tree/feature/002/src java_miniGame/src at feature/002 · roqkfchqh/java_miniGameContribute to roqkfchqh/java_miniGame development by creating an account on GitHub.github.com여담이지만 커밋을 하다가 내 소중한 클래스 파일들이 다 날아갈 뻔 했다. 왜인지도 모르고 어떻게 고친지도 모르겠다. 그냥 로컬 기록에서 파일 가져와서 다시 푸시 하니까 됐다.. 그리고 현재 game.java가 너무 많은 일을 하고 있다.impor.. 2024. 11. 12.
프로그래머스 택배 상자(스택) 최근 java를 공부하면서 stack, queue, list 등의 개념에 대해 처음 알았는데 마침 누가 봐도 스택을 사용할 것 같은 문제가 보여서 풀어봤다.문제#include #include #include #define MAX_SIZE 1000000//스택생성typedef struct Stack{ int data[MAX_SIZE]; int top;} Stack;//스택초기화void initStack(Stack* stack){ stack->top = -1;} //pushvoid push(Stack* stack, int value){ stack->data[++(stack->top)] = value;}//맨위요소int peek(Stack* stack){ return stack.. 2024. 11. 12.
JAVA - 디자인 패턴 정리 1. 생성 패턴 -싱글턴: 특정 클래스의 인스턴스가 단 하나만 존재하도록 제한함. 전역적으로 접근 가능한 인스턴스가 필요할 때 유용.ex) 데이터베이스 연결 객체 등 전역에서 하나만 있어야 하는 경우. -팩토리 메서드: 객체 생성 코드를 서브클래스에서 정의하여, 객체 생성을 하위 클래스에 맡김.ex) 다양한 종류의 버튼이나, 모양을 가지는 UI 요소 생성 시. -추상 팩토리: 관련된 객체들을 그룹화하여 생성할 수 있는 인터페이스 제공. 여러 제품군을 생성해야 할 때 유용.ex) 서로 다른 운영체제에 맞는 UI 요소 생성. (MaxOS Windows) -빌더: 복잡한 객체를 단계별로 생성할 수 있도록 도와줌. 객체를 생성하는 과정, 표현을 분리.ex) 복잡한 레스토랑 주문 구성. 서브웨이처럼 레시피를 조.. 2024. 11. 12.
8일차 오전1: 알고리즘 한문제수능 국어 비문학 푸는 줄 알았다. 문제 자체는 단순구현이라 쉬워보였다#include #include #include #include // survey_len은 배열 survey의 길이입니다.// choices_len은 배열 choices의 길이입니다.// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.char* solution(const char* survey[], size_t survey_len, int choices[], size_t choices_len) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. char* answer = (char*)malloc(5).. 2024. 11. 11.
JAVA - 용어 정리<2> 1. 매개변수의 종류 -기본형 매개변수(값에 의한 전달): 기본 데이터 타입(int, double, boolean 등)에서 값을 복사하여 메서드에 전달한다. 메서드 내에서 매개변수 값을 변경해도 원본 값엔 영향이 없다.-참조형 매개변수(참조에 의한 전달): 객체 타입(string, arraylist 등)을 전달할 때는 "값을 주소"가 전달된다. 메서드 내에서 객체의 상태를 변경하면 원래 객체에도 영향을 미친다. 반환 타입도 참조형이 될 수 있다.   2. 지역 변수와 지역 상수 -지역 변수: 메서드 내에서 선언된 변수. 해당 메서드 내에서만 사용 가능, 실행될때마다 독립적인 값을 저장하고 관리하게 된다. 내부에서 정의될 때 생성되어 메서드 종료 시 사라진다.public void exampleMethod(.. 2024. 11. 11.
우와 미슐랭 흑백요리사 황진선 셰프 식당인 진진에 다녀왔당웨이팅 1시간 정도 하다가 황진선 셰프 실물도 봤다 방송보다 훨씬 잘생기셨다제일 먼저 나온 게살볶음. 이게 제일 맛있었다.. 버섯 싫어하는데 식감 때문인지 되게 맛있었다. 이런 버섯이라면 1년 내내 먹을 수 있다다음으로 나온 멘보샤. 배달 멘보샤들과는 차원이 다르긴 하지만 그저 그랬다. 내 취향에 안 맞는 음식이라 그런 것 같다 'ㅅ'깐풍기. 매운 거 잘 먹는데 어우 꽤 매워서.. 게살볶음 + 멘보샤로 느끼할 타이밍에 잘 나왔다.근데 다시 간다면 어향가지를 먹어볼 듯? 깐풍기는 찾아갈 맛은 아니었다.가장 늦게 나온 짬뽕. 엄청 오래 기다렸는데 그만큼 맛있었다 ㅠㅠ 개인적으로 빨간 짬뽕보다 이게 더 내 취향이다. 집 앞에 있었으면 일주일에 한 번은 이거 먹으러 .. 2024. 11. 10.
6일차 java에서 자주 쓰이는 용어들과 객체 지향에 대해 공부했다.https://roqkfchqh.tistory.com/36" data-og-description="1. 클래스(class)객체를 생성하기 위한 청사진 역할을 한다. 여러 가지 인스턴스 변수와 인스턴스 메서드로 구성된다.2. 변수(instance variable)클래스 내에서 사용되는 변수. 클래스의 속성을 나타낸" data-og-host="roqkfchqh.tistory.com" data-og-source-url="https://roqkfchqh.tistory.com/36" data-og-url="https://roqkfchqh.tistory.com/36" data-og-image="https://scrap.kakaocdn.net/dn/khJB.. 2024. 11. 9.
객체 지향 실습 - 게임에 적용 앞으로 게임에 구현할 것들의 마인드맵을 그려봤다. 첫번째 줄기는 클래스, 두번째 줄기는 메서드다. 인터페이스를 설계한다면 :1. 점수 관리 인터페이스- 현재 점수, 보너스 점수, 최고 점수와 관련된 기능 제공.- 점수 클래스를 비롯해, 점수를 부여할 수 있는 보너스 아이템과 이벤트메서드 ex) 현재 점수를 반환하기, 점수를 증가시키기, 점수를 초기화시키기, 최고 점수를 반환하기, 최고 점수를 갱신하기 2. 획득 가능한 아이템 인터페이스- 플레이어가 게임 도중 획득(+바로 사용) 가능한 객체메서드 ex) 아이템을 획득하기, 아이템이 획득 가능한지 확인하기, 아이템 효과 적용하기 3. 이동 가능한 객체 인터페이스- 이동 가능 객체들을 정의.메서드 ex) 객체를 특정 방향으로 이동, 현재 위치 반환하기, 위치.. 2024. 11. 9.
JAVA - 용어 정리<1> 1. 클래스(class)객체를 생성하기 위한 청사진 역할을 한다. 여러 가지 인스턴스 변수와 인스턴스 메서드로 구성된다.2. 변수(instance variable)클래스 내에서 사용되는 변수. 클래스의 속성을 나타낸다3. 메서드(instance method)클래스 내부에서 정의된 함수. 객체의 동작을 정의한다.4. 객체(object)클래스를 기반으로 생성된 클래스의 인스턴스. 실제 데이터를 담고 있다. 클래스를 사용해 만들 수 있는 실체. 클래스를 정의하면 그 클래스에는 속성(변수)와 행동(메서드)를 정의한 청사진만 담겨있다.이 클래스를 바탕으로 new 키워드를 사용해 객체를 생성하게 되면, 메모리 공간에 실제 데이터가 자동으로 할당되고, 클래스가 정의한 속성과 행동을 가지는 구체적인 실체가 된다.그래서.. 2024. 11. 9.