728x90

분류 전체보기 361

[C++][Programmers][완전탐색] 카펫

https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [해결책] 종이에 그려가며 규칙을 찾아보려고 했는데 계속 원점으로 빙빙 돌아서 힌트를 봤다. 3x3이 가장 작은 카펫 크기(가로>=세로 이므로)라는건 구했는데 카펫이 모양이 직사각형일 때, 정사각형일 때로 나눠가며 접근해서 빙빙 돌았던거 같다. 1) 가장 작은 세로의 길이는 3 이다. 2) 노란색과 갈색 크기를 모두 합한 값이 넓이이므로 가로x세로 값과 같다. 3) 세로길이를 3부터 1씩 더하며 ..

[C++][Programmers][완전탐색] 소수찾기

[문제] https://school.programmers.co.kr/learn/courses/30/lessons/42839?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [해결법] 1) 조합으로 문자조합 뽑기 2) 1글자, 2글자, n글자씩 뽑기 3) 뽑은 수의 소수판별을 위해 문자를 int형으로 변경 4) 소수인지 판별. 소수이면 정답 개수 + 1. 이 때, 중복탐색 편리하게 하려고 unordered_set answer; 변수를 만들어서 넣었다. 5) answer 사이즈 리턴 [알아둘 것] 1) string to int 함수 #i..

[C++] 소수 판별법, 소수 개수 구하는 법

소수: 2보다 크고 자기 자신 외에 약수를 가지지 않는 수 1. 자연수 N이 소수인지 판별하는 법 : 2보다 크거나 같고, 루트N보다 작거나 같은 자연수로 나누어 떨어지지 않는지 확인하기. : 시간복잡도 루트N * 왜 루트 N 까지? 자연수 N이 소수가 아니라면 N = a X b로 나타낼 수 있습니다.(a와 b는 자연수이고 N의 약수 조합) 이 때, a > b라면 두 수의 위치를 바꿔가며 항상 a 2) { return false; } for (int i = 2; i*i> n; bool result = prime(n); cout

[C++][Programmers][완전탐색] 모의고사

[문제] https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [해결책] 1. 1,2,3번 수포자가 표기한 답을 벡터에 저장해둔다. 2. 1,2,3번 수포자의 정답 개수를 저장할 벡터를 선언한다. vector answerNum(3); 3. answer의 길이만큼 반복문을 돌면서 정답 개수를 체크한다. 이 때, 수포자의 답 개수가 다르고 정답 개수 이하이므로 나머지 계산으로 끝까지 탐색한다. 4. 최대 정답 개수를 찾아서 answerNum 벡터에 넣어..

[C++][Programmers][완전탐색] 최소직사각형

[문제] https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [해결법] 위의 예시에서 가장 작은 지갑의 크기는 80*70=5600 같지만 2번 명함을 눕히면 가로70, 세로30인 사이즈가 되므로 가장 작은 지갑의 크기는 80 * 50이다. 즉, 한쪽을 큰 값을 두고 다른 한쪽을 작은 값으로 셋팅한 후, 가로 중에 가장 큰 값과 세로 중에 가장 큰값을 뽑아야 함을 알 수 있다. 1) 2차원 벡터의 frist값(가로) > second(세로)값인 상태에..

[C++][Programmers][정렬] H-Index

[문제] https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [해결법] [3, 0, 6, 1, 5] 가 있을 때 h번 이상 인용된 논문 횟수가 h개 이상이고 나머지가 h번 이하로 인용되면 된다. 즉, h = 1일 때 -> 1번 이상 인용된 논문이 1개 이상이어야 함. 나머지가 1이하로 인용되어야 함. h = 2일 때 -> 2번 이상 인용된 논문이 2개 이상이어야 함. 나머지가 2이하로 인용되어야 함. h = 3 일 때 -> 3번 이상 인용된 논문이..

[C++][Programmers][정렬] 가장 큰 수

코딩테스트 연습 고득점 Kit 정렬 파트 2번 - 가장 큰 수 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [해결법] 문제를 보고 든 생각... "조합함수로 숫자조합은 뽑을 수 있을거 같은데 숫자를 어떻게 합치지?" 였는데 return 이 string 인거 보고 걍 문자열로 합치면 되는구나~를 알았다. (오답) 1) 조합 돌리게 오름차순 정렬해놓기 2) 조합으로 숫자조합 뽑기 -----------------------> 시간초과 3..

[C++][Programmers][정렬] K번째 수

코딩테스트 고득점 kit 정렬파트 1번 K번째 수 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [해결법] 벡터에서 i~j 숫자를 추출하고 오름차순 정렬한 후, k번째 수를 뽑는 문제이다. 순서대로 차근차근 하니까 금방 풀렸다. but 백만년만에 C++ 다시 잡으니 함수가 헷갈린다... 감잡자 keep going... [알아둘 것] 1. 벡터 부분추출 vector partArray(array.begin() + beginIndex, a..

[Unity] 메모리 최적화를 위한 에셋 관리

모바일 게임을 만들 때 메모리가 특히 중요하다. 메모리를 너무 많이 쓰면 OS가 앱을 죽여버리는 경우도 있다. 이런걸 어떻게 확인하냐? Unity Profiler를 앱에 물려서 메모리를 확인할 수 있다. 좀 더 자세히 보려면 Memory Profiler를 보면된다. 기본제공되진 않고 Package Manager에서 다운받는 것. Editor에서도 되지만 정확한 수치는 아니기에 Target Device 에 올려서 확인해야 한다. * 메모리에 영향을 미치는 Asset 관리 1. 중복 리소스 : Unity 는 중복 파일을 체크하지 않는다. 실수로 동일한 파일을 다른 폴더에 넣지는 않았는지 확인하자. 2. Audio 1) Force To Mono 체크하기. 2) Load Type: Decompress on lo..

[Unity] IL2CPP, Mono, JIT

C# vs C++ : GC 있음 없음 차이. C#에 GC(Garbage Collector)가 생겨서 생산성이 더 좋다. Mono, IL2CPP, Burst : 코드를 실행가능한 형태로 바꿔주는 컴파일러인 Scripting Backend의 종류 Mono는 IL2CPP 보다 빠르고 플랫폼에 독립적임. IL2CPP가 더 보안성이 높고 Android/iOS 호환가능. cf) Unity 자체 엔진은 C++이고 Script 는 C#으로 작성하는 구조. Mono : Mono는 JIT(Just-In-Time) 컴파일을 사용하고 런타임 시점에 요청시 코드를 컴파일 함 : 64bit 지원 안함. IL2CPP : IL2CPP는 AOT(Ahead-of-Time) 컴파일을 사용하고 실행 전에 전체 애플리케이션을 컴파일 함. :..

728x90