분류 전체보기
-
[프로그래머스/위클리 챌린지] 1주차 (C++)알고리즘 문제풀이/프로그래머스 2021. 8. 12. 17:08
https://programmers.co.kr/learn/courses/30/lessons/82612 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 금액이 부족하지 않으면 0을 리턴하도록 처리해주는 예외 케이스를 잘 읽지 못했음 예외 케이스 잘 확인할 것, 삼항 연산자 사용법에 대해 알게된 문제 #include using namespace std; long long solution(int price, int money, int count) { long long answer = 0; for(int ..
-
[프로그래머스/Level 2] 2개 이하로 다른 비트 (C++)알고리즘 문제풀이/프로그래머스 2021. 7. 27. 18:12
https://programmers.co.kr/learn/courses/30/lessons/77885 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 짝수를 2진법, 비트로 표현했을 때, 가장 오른쪽 비트는 0이 된다. 따라서 +1을 해주면 오른쪽 비트만 1로 변하게 되기 때문에 비트가 총 1개 다르게 된다. 홀수를 비트로 표현하면 가장 오른쪽 비트는 1이 된다. 연속된 비트(1)의 개수가 n개일 때, n-1자리의 비트 수만큼 더하면 f(x) 값이 나오게 된다. #include #include using namespace std; vector solution(vector numbers) { vector answer; for(int i = 0; i < numbers.size();..
-
[프로그래머스/Level 1] 숫자 문자열과 영단어 (C++)알고리즘 문제풀이/프로그래머스 2021. 7. 26. 13:29
https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 카카오 기출 "onezerozero" -> 100로 변환해줘야 하는데, "zero"가 두번 나오기 때문에 while문을 사용해야 한다는 점을 주의 알게된 점 1. string의 find 함수를 사용해 특정 단어를 찾으면 그 단어가 시작되는 인덱스를 반환한다. 만약 못찾으면 string::npos를 반환한다. 2. replace(from, 사이즈(길이)..
-
[프로그래머스/Level 3] 숫자 게임 (C++)알고리즘 문제풀이/프로그래머스 2021. 5. 7. 12:00
programmers.co.kr/learn/courses/30/lessons/12987 코딩테스트 연습 - 숫자 게임 xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 programmers.co.kr 제가 제일 어려워하는 유형 중 하나인 그리디 문제였습니다. 사실 다 약함 일단 입력값의 크기가 최대 100,000 이라서 완전탐색으로는 TLE가 발생합니다. 그래서 DP, 이분탐색, 힙, 그리디 다양하게 생각해봤는데 도저히 문제를 해결하지 못해서 풀이를 참고했습니다. A팀의 출전 순서가 이미 공개되어 A 배열은 고정 시켜야 한다는 고정관념에 사로잡혀 문제를 해결..
-
[프로그래머스/Level 3] 길 찾기 게임 (C++)알고리즘 문제풀이/프로그래머스 2021. 5. 7. 11:07
programmers.co.kr/learn/courses/30/lessons/42892 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 카카오 기출 유형 이진트리를 구현하고 이를 통해 다양한 순회 방법을 구현할 수 있는지 물어보는 문제였습니다. 풀이 id=1 x=5,y=3 left=null right=null id=2 x=11,y=5 left=null right=null id=3 x=13,y=3 left=null right=null id=4 x=3,y=5 left=null right=null id=5 x=6,y..
-
프로세스와 스레드Computer Science/IT용어 2021. 5. 6. 17:13
프로그램 어떤 작업을 위해 운영체제 위에서 실행할 수 있는 파일 ex) 웹 브라우저, 워드 프로세서, 카카오톡 등 프로세스 운영체제 위에서 실행중인 프로그램 프로그램 명령어와 데이터들이 메모리에 올라오고 실행 중 또는 실행 대기중인 상태 프로세서(CPU) 프로세스가 동작될 수 있도록 하는 하드웨어 동작이란 프로그램의 자원들이 메모리에 올라오고, 실행 되어야 할 코드의 메모리 주소를 CPU의 레지스터로 올리는 것 멀티태스킹 사실 CPU는 한순간에 하나의 프로세스만 실행할 수 있음 운영체제는 짧은 시간에 수십번~수천번 실행할 프로세스를 교체한다 따라서 동시에 여러개의 작업이 실행되고 있다고 느끼는 것 프로세스의 상태 생성(Create) 준비(Ready) 실행(Running) 대기(Blocked) 종료(Ter..
-
[프로그래머스/Level 2] 행렬 테두리 회전하기 (C++)알고리즘 문제풀이/프로그래머스 2021. 4. 29. 15:45
programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 삼성 역량 테스트 기출문제였던 백준 17144번 미세먼지 안녕과 비슷한 문제였습니다. 입력받은 좌표중 첫번째 좌표를 tmp 변수에 저장한 후, 이를 기준으로 값을 한칸씩 계속 땡겨가며 회전 처리를 해주었습니다. 마지막 부분만 tmp를 덮어 씌어주면 됩니다. 이런 방법으로 회전 처리를 하고, 할 때마다 최소값을 갱신해가면 쉽게 문제를 해결할 수 있습니다. #i..
-
[프로그래머스/Level 1] 로또의 최고 순위와 최저 순위 (C++)알고리즘 문제풀이/프로그래머스 2021. 4. 28. 17:50
programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 처음에 map을 이용하는 줄 알고 해매느라 시간이 좀 오래걸린게 아쉬웠습니다. 풀이는 단순히 완전탐색을 통해 번호 같은 수 갯수를 찾고, lottos 배열의 값이 0인 갯수를 찾습니다. 최고 순위는 same(같은 갯수) + zero(0의 갯수), 최저 순위는 same(같은 갯수)가 됩니다. #include #include usin..