728x90
(백준/ C++) 4673 - 셀프 넘버
📃 coding test/◽ 백준2022. 9. 2. 18:28(백준/ C++) 4673 - 셀프 넘버

4673번: 셀프 넘버 (acmicpc.net) 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net

(c++) 디자인 패턴 01(싱글톤, 추상 팩토리, 옵저버, 프록시, 어댑터)
👨🏻‍💻 programming/◽ c, c++2022. 8. 24. 18:38(c++) 디자인 패턴 01(싱글톤, 추상 팩토리, 옵저버, 프록시, 어댑터)

1. 싱클톤(singletion) 패턴 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 보통 데이터베이스 연결 모듈에 많이 사용된다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할때 드는 비용이 줄어드는 장점이 있다. 하지만 의존성이 높아진다는 단점이 있다. 프로그램을 구현할 때 클래스의 인스턴스가 단 하나만 존재하게 만들려면 싱글턴 패턴을 적용하면 된다. 싱글턴 패턴은 유틸리티 클래스 구현에 적합하다. 많은 어플리케이션에서는 상태 정보, 디버깅 데이터, 특정한 지점에서 발생한 에러를 기록하는 클래스인 로거(logger)를 사용하는 경우가 많다. 로거 클래스는 싱글턴으로 구현하는 것이 좋다. 구현 방법: (1). static 메서드만 가지..

[일상] 코로나 재감염, 일주일 격리, 유급휴가
🙋🏻‍♀️ pinko/◽ 일상&사진2022. 8. 18. 16:56[일상] 코로나 재감염, 일주일 격리, 유급휴가

안녕하세요. 제목 그대로 코로나 재감염 일상 블로그를 작성해볼까 합니다. (격리 싫어 나가고 싶어~~~) 저는 2022년 3월 오미크론에 한 번 감염되고 8월 16일(화) 날짜로 또다시 코로나(PCR로 확정을 받은 게 아니라서 오미크론인지…. 켄타우로스인지 모름) 확진 판정을 받았습니다. 3월에는 아버지에게 감염되고. 이번 재확진은 친구한테 감염된 거 같습니다. ㅠㅠ 친구가 8월 8일(월)에 코로나 확정 판정을 받았는데 저랑 토요일, 일요일, 월요일 아침까지 같이 있었습니다. 100% 그때 감염된 거 같습니다. 1. 코로나 확진을 받게 되기까지 과정 8월 8일 (월) * 친구 코로나 오후 확진 * 회사에 밀접 접촉자인 사실을 알림(매일 출근 할 때마다 자가검진키트를 하고 출근하라고 안내 받음.) * 11..

(c++17) decltype, 로 스트링 리터럴, static, const, extern, mutable, constexpr, 타입 앨리어스, 스코프, 레퍼런스, 어트리튜트
👨🏻‍💻 programming/◽ c, c++2022. 8. 11. 15:11(c++17) decltype, 로 스트링 리터럴, static, const, extern, mutable, constexpr, 타입 앨리어스, 스코프, 레퍼런스, 어트리튜트

1. decltype 키워드 decltype 키워드는 인수로 지정한 표현식의 타입을 알아낸다. int x = 123; decltype(x) y = 456; 이렇게 작성하면 컴파일러는 y의 타입이 x의 타입인 int라고 추론한다. decltype은 레퍼런스나 const지정자를 삭제하지 않는다는 점에서 auto와 다르다. 템플릿을 사용할 때 상당히 강력한 효과를 발휘한다. 2. 로 스트링 리터럴(raw string liternal) 여러 줄에 걸쳐 작성한 스트링 리터널로서, 그 안에 담긴 인용부호를 이스케이프 스퀀스로 표현할 필요가 없고, \t, \n같은 이스케이프 시퀀스를 일반 텍스트로 취급한다. 문법: R " ( ) " const char* str = R"(Hello "Pinko")" ; 3. stati..

(c++17) 전처리 지시자, if-switch 이니셜라이저, __func__, 구조적 바인드
👨🏻‍💻 programming/◽ c, c++2022. 8. 4. 17:54(c++17) 전처리 지시자, if-switch 이니셜라이저, __func__, 구조적 바인드

1. 전처리 지시자 C++로 작성된 소스 코드를 프로그램으로 만드는 빌드(build)작업은 세 단계를 거치며, 전처리 지시자(directive)는 전처리기에 전달할 사항을 표현하며, '#' 문자로 시작한다. 빌드 작업: 전처리(Preprocess) -> 컴파일(complie) -> 링크(link) 2. main ( ) 함수 main 함수는 매개변수를 받지 않거나, 두 매개변수를 받도록 작성할 수 있다. int main (int argc, char* argv[]) - argc: 프로그램에 전달할 인수 개수 - argv[]: 전달할 인수의 값을 담는 배열 - argv[0]에는 프로그램 이름이 담김. * 주의: 실제 매개변수는 인덱스 1부터 시작한다. 3. (C++17) std::byte c++17 이전에는 ..

(OS) 프로세스와 스레드
👨🏻‍💻 programming/◽ 운영체제2022. 8. 3. 12:06(OS) 프로세스와 스레드

우리가 흔히 말하는 프로그램이란 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 상태이며 컴퓨터에서 실행되는 명령어 모음이 들어 있는 데이터 덩어리를 의미한다. 그것을 더블클릭하여 실행시키기 전까지는 프로그램 자체로는 아무런 의미가 없다. 프로그램을 실행하면 프로그램 안에 들어 있는 명령어가 한 줄씩 실행되면서 프로그램은 뭔가 활동을 하는 상태가 된다. 이를 프로세스라고 한다. Q. 프로세스와 스레드에 대해서 설명해주세요. 1. 프로세스(Process) - 운영체제로부터 자원(프로세서, 필요한 주소 공간, 메모리 등)을 할당받는 작업의 단위이자 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. - 프로그램이 메모..

(OS) 운영체제와 메모리
👨🏻‍💻 programming/◽ 운영체제2022. 7. 29. 18:23(OS) 운영체제와 메모리

운영체제 OS(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하여 성능을 높이고, 사용자에게 컴퓨터 사용의 편의성을 제공 하는 여러 프로그램의 집합입니다. 대표적인 운영체제는 Window, ios, Linux 가 있습니다. GUI (grapic user interface) 사용자가 전자장치와 상호 작용할 수 있도록 하는 사용자 인터페이스의 한 형태, 단순 명령어 창이 아닌 아이콘을 마우스로 클릭하는 단순한 동작으로 컴퓨터와 상호작용할 수 있도록 해준다. 시스템콜 (system call) - 추상화 계층 - 운영체제는 커널모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘는데 이를 연결하는 역할을 한다. 커널은 사용자나 응용프로그램으로부터 컴퓨터 자원을 보호하기..

(unity) 속도와 시간 간격
🎯 game engine/◽ 유니티(unity)2022. 7. 12. 17:17(unity) 속도와 시간 간격

속도와 시간 간격 Update( ) 메서드는 평균적으로 1초에 60번 실행됩니다. 하지만 이것은 평균일 뿐 게임 화면을 갱신하는 주기는 컴퓨터 성능에 의존적이라서 Update( )가 1초에 몇 번 실행될지는 알 수 없습니다. 하지만 이것은 평균일 뿐 게임 화면을 갱신하는 주기는 컴퓨터 성능에 의존적이기 때문에 Update가 1초에 몇 번 실행될지는 알 수 없습니다. 따라서 Update( ) 메서드에서 초당 이동 속도나 회전 속도 등 시간과 관련된 수치를 다룰 때는 시간 간격을 고려해야 합니다. 그렇지 않으면 컴퓨터 성능에 따라 같은 코드가 다르게 동작할 수 있습니다. 이 문제와 관련된 흔한 현상으로 Pc게이머들이 '프레임 제한'을 해제했을 때 발생하는 문제가 있습니다. 고정 프레임이 60인 게임이 있다고..

(unity) GetComponent, GetAxis, OnTriggerEnter, OnCollisionEnter, FindObjectOfType
🎯 game engine/◽ 유니티(unity)2022. 7. 12. 17:06(unity) GetComponent, GetAxis, OnTriggerEnter, OnCollisionEnter, FindObjectOfType

GetComponent( ) 메서드 원하는 타입의 컴포넌트를 자신의 게임 오브젝트에서 찾아오는 메서드입니다. Rigidbody = GetComponent(); ※ 제네릭: GetComponent ( ) 메서드에서 사용한 꺽쇠 는 제네릭(Generic)기법입니다. 제네릭은 메서드나 클래스가 여러 타입에 호환되게 합니다. 꺽쇠 안에 원하는 타입을 명시하면 클래스나 메서드가 해당 타입에 맞춰 동작합니다. 제네릭을 사용하지 않으면 같은 처리를 위한 여러 타입의 메서드나 클래스를 일일이 만들어야 합니다. (이동) GetAxis( ) 메서드 어떤 축에 대한 입력값을 숫자로 반환하는 메서드입니다.Input.GetAxis( ) 메서드는 축의 이름을 받습니다. 이 스트링은 입력 매니저 설절 창에서 수정도 가능합니다. 경..

(unity) MonoBehaviour? 메세지 기반 방식? 유니티 이벤트 메서드?
🎯 game engine/◽ 유니티(unity)2022. 7. 11. 18:26(unity) MonoBehaviour? 메세지 기반 방식? 유니티 이벤트 메서드?

게임 엔진에서 게임 오브젝트는 게임 세상에 존재하는 하나의 물체입니다. 유니티는 게임오브젝트를 컴포넌트 패턴을 사용해 만듭니다. 컴포넌트 패턴 혹은 컴포지션(composition) 패턴이랑 미리 만들어진 부품을 조립하여 완성된 오브젝트를 만드는 방식입니다. 컴포넌트 방식은 미리 만들어진 컴포넌트를 빈 껍데기인 게임 오브젝트에 조립하는 방식입니다. 이렇게 되면 유연하게 재사용이 가능하고, 기획자의 프로그래머의 의존도가 낮아지며 독립성 덕분에 기능 추가 삭제가 쉽습니다. MonoBehaviour? 유니티의 모든 컴포넌트는 monobehaviour 클래스를 상속합니다. MonoBehaviour클래스는 유니티에서 미리 만들어 제공하는 클래스이며 컴포넌트에 필요한 기본 기능을 제공합니다. 즉, MonoBehavi..

728x90
image