전체 글
-
[Programmers] 2018 KAKAO BLIND RECRUITMENT[3차] : 압축Problem Solving/Programmers 2021. 2. 13. 12:02
programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr LZW 압축 방식을 사용해서 문자열을 압축하는 전형적인 파이썬 딕셔너리 활용 문제같다 2018년 카카오 코테 기출은 풀다보면 신기하다 정말 네가 카카오에 들어와서 과제 던져주면 해결할 수 있냐고 묻는 것 같은 느낌....?? problem solving이 문제해결능력으로 이어지는지 보려는 의도 같다 하지만 이 문제는 쉽기 때문에 뛰어난 능력을 요구하진 않았따 나는 맨 처음 딕셔너리를 초기화하고, 단..
-
[Programmers] 2018 KAKAO BLIND RECRUITMENT[3차]: n진수 게임Problem Solving/Programmers 2021. 2. 13. 01:53
programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr n진수 게임을 하는 간단한 문제 N진수의 정보, 미리 구할 숫자 개수, 참가 인원, 튜브의 순서가 주어졌을 때 튜브가 말하는 숫자들을 구하면 된다. for문을 최대 게임 수 만큼 돌면서 N진수를 구하고, 이를 문자열로 변환하여 이어붙이면서 저장해주었다. 그렇게 한 뒤 마지막에 p부터 시작, m씩 증가하면서 숫자들을 구해서 출력하면 끝 def solution(n..
-
[Programmers] 2018 KAKAO BLIND RECRUITMENT[1차] 뉴스 클러스터링Problem Solving/Programmers 2021. 2. 12. 22:14
programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 문자열에 등장하는 알파벳으로만 이루어진 부분 문자열들을 추출해내고, 해당 알파벳들을 집합으로 만들어 교집합을 구하는 문제이다. 문제에 등장하는 자카드 유사도는 교집합의 크기 / 합집합의 크기로 정의되는데, 합집합은 각각의 집합의 크기와 교집합으로 다시 정의할 수 있으므로 교집합만 구해주면 된다 처음에는 set 자료형을 쓸까 하다가 중복 원소를 포함할 수 ..
-
[OS] Process and Thread - 프로세스와 쓰레드 개념과 차이점Computer Science/Operating System 2021. 2. 7. 02:28
Process 운영체제에서 말하는 프로세스란, Program in Execution 즉 실행중인 프로그램의 단위를 의미한다. 단일 작업을 지원하던 이전 OS들과는 달리, 현재의 운영체제는 다중 동시 작업을 지원한다. 그말은 즉슨 여러 프로세스가 메모리에 동시 적재되고, 한꺼번에 돌아가야 한다는 것을 뜻한다. 시분할(time sharing)으로 인한 Multi Process 체제에서 각각의 프로세스는 현재 상태를 백업해야 할 필요성을 갖는다. 따라서 각각의 프로세스는 특정 시점에서 프로세스의 상태를 나타내는 요소들의 집합을 뜻하는 Process Context를 갖게 되었다. Process Context에는 다음과 같은 요소들이 있다. - CPU 수행 상태를 나타내는 Hardware Context(Progr..
-
[BOJ]백준 1405번: 미친 로봇Problem Solving/BOJ(백준) 2021. 2. 7. 01:35
www.acmicpc.net/problem/1405 1405번: 미친 로봇 첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고, 모든 확률은 100보다 작거나 같은 자 www.acmicpc.net 로봇이 동서남북으로 N번 움직일 수 있다고 할 때, 이동 경로가 단순할 확률(이미 방문한 곳을 방문하지 않을 확률)을 구하는 문제이다. N이 14 이하의 자연수이기 때문에, 최대 4^14(268,435,456)가지의 이동 경우의 수가 나온다. 즉, 1억번 이하이므로 모든 경우에 대해 조사하면서 단순한지 아닌지 검사해주었다. 백트래킹을 이용해서 특정 좌표의 방문/미방문을 갱신해주었고, 서로 다른 좌표를 N개 ..
-
발머의 피크 이론(Baller's Peak Theory)Etc 2021. 2. 5. 23:44
발머의 피크 이론이란, 프로그래머의 혈중 알콜 농도가 0.129%~0.138% 사이일 때 초인적인 코딩 실력을 발휘한다는 이론이다. - 발머의 피크 이론은 80년대 후만 마이크로소프트사에 의해 제기되었습니다. 원인은 불명치 않지만, 혈중 알콜 농도가 0.129%~0.138%일 때 초인적인 프로그래밍 능력을 가지게 됩니다. - 하지만 이것은 아주 조심스러운 접근을 필요로하는 민감한 효과이기에, 코더들에게 1년치 위스키를 주고 버그를 고치게 해서는 안됩니다. - ... 무슨 일이 일어나는 거죠? - Windows ME를 기억하시나요? - 알겠습니다....
-
[운영체제] LRU(Least Recently Used Algorithm) Algorithm이란? Python 구현Algorithm 2021. 2. 5. 23:18
Cache란 컴퓨터 과학에서 사용하는 '데이터를 미리 복사해 놓는 임시 저장 장소'를 말한다. 원래의 메모리에 접근하는 시간이 오래 걸리거나 값을 재 계산하는 시간을 절약하기 위해 사용한다. 캐시에 미리 값을 복사해 놓는 경우에 빠른 속도로 데이터에 접근할 수 있다. 물론 캐시도 물리적 메모리 영역을 가지고 있기 때문에, 유한한 공간을 가진다. 제한된 메모리 영역을 효율적으로 이용하기 위해서는 자주 사용하는 데이터는 빠르게 접근할 수 있도록 하고, 오래 사용되지 않은 데이터는 캐시 영역에서 쫓아버리는 방법을 사용한다. 이러한 캐시 메모리를 관리하는 알고리즘을 LRU(Least Recently Used) Algorithm이라고 한다. 해당 알고리즘은 가장 오랫동안 참조되지 않은 데이터는 앞으로도 사용될 확..
-
[Programmers] 2018 KAKAO BLIND RECRUITMENT: [1차] 다트 게임Problem Solving/Programmers 2021. 2. 5. 20:42
programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 2018년 카카오 공개채용 기출문제이다 "점수|보너스|[옵션]"으로 이루어진 문자열 3세트가 연속적으로 주어졌을 때, 점수의 총 합계를 계산하는 문제 보너스는 (S, D, T)가 존재하고, 각각 점수에 square를 취한다. 옵션은 "*"은 현재, 그리고 이전 점수에 *2를 하며, "#"은 현재 점수에 -1을 취한다. 이렇게 각각의 점수를 구한 뒤, 마지막에 list에 있는 elements를 모두 더해주면 끝 처음에는 스택으로 접근해야 하나 했지만 파이썬의 list로 간단하게 풀 수 있었다 해설에서는 정규식을 사용한 풀이도 추천한다고 했는데, 이후..