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 자료형을 쓸까 하다가 중복 원소를 포함할 수 ..
-
[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개 ..
-
[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로 간단하게 풀 수 있었다 해설에서는 정규식을 사용한 풀이도 추천한다고 했는데, 이후..
-
[BOJ]백준 16931번: 겉넓이 구하기Problem Solving/BOJ(백준) 2021. 2. 5. 00:47
www.acmicpc.net/problem/16931 16931번: 겉넓이 구하기 크기가 N×M인 종이가 있고, 종이는 1×1크기의 칸으로 나누어져 있다. 이 종이의 각 칸 위에 1×1×1 크기의 정육면체를 놓아 3차원 도형을 만들었다. 종이의 각 칸에 놓인 정육면체의 개수가 주어 www.acmicpc.net 백준의 겉넓이 구하기 문제 기하적인 문제이다 각 칸의 넓이를 1이라 했을 때, 도형의 겉넓이를 구하는 문제이다 이 때, 그림의 흰색 칸은 위에서 투시했을 때의 위쪽 면의 겉넓이이다. 밑에서 봤을 때에도 동일하므로 초기의 겉넓이 값은 N*M*2이다 그리고 옅은 주황색 면을 보면, 요철이 많지만 앞에서 투시해서 봤을 때 반대편에서 봤을 때랑 겉넓이가 같음을 알 수 있다. 따라서 옅은 주황색 면의 겉넓이..
-
[BOJ]백준 17413번: 단어 뒤집기 2Problem Solving/BOJ(백준) 2021. 1. 30. 19:18
www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 단어 뒤집기 문제이다 사실 파이썬으로 split이랑 reverse써서 풀려고 했는데 내맘대로 안돼서 걍 C++ 스택으로 풀었다 '': 괄호가 닫히면 state변수를 0으로 바꿔준다 + 그대로 출력 이외의 문자 - state가 1일 때: 괄호 안의 문자라는 뜻. 그대로 출력 - state가 0일 때: 괄호 밖의 문자라는 뜻. 스택에 push (여는 괄호가 나왔거나, 스페이스가 나왔..
-
[BOJ]백준 1442번: 벽 부수고 이동하기 2/BFSProblem Solving/BOJ(백준) 2021. 1. 20. 21:30
www.acmicpc.net/problem/14442 14442번: 벽 부수고 이동하기 2 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 벽 부수고 이동하기 시리즈 이전에는 벽을 한 개만 부술 수 있었는데, 이번에는 벽을 최대 k개 부술 수 있다. 말이 되고픈 원숭이 문제(2jinishappy.tistory.com/144)와 같이, visit배열을 3차원으로 관리서 벽을 k개 부쉈을 때의 방문 여부를 체크해 주어야 한다. 구조체 변수 순서 헷갈리고 배열 선언 제대로 안 해서 헤맸다....^^ #include #..
-
[BOJ]백준 1600번: 말이 되고픈 원숭이/BFSProblem Solving/BOJ(백준) 2021. 1. 20. 00:08
www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 말이 되고픈 원숭이의 소원을 들어주는 문제 이제 백준에서 런타임에러의 원인을 알려주는데 자꾸 DoubleFree 에러가 떠서 내 코드엔 동적할당이 없는데 왜 뜨지??싶었던 문제 하지만!!!!!!!!!!!!문제는!!!!!!!!!!! 함수에서 반환을 제대로 안 해줬던 것이엇다 모든 케이스에서 함수 값을 반환하지 않을 때 위와 같은 런타임에러가 발생할 수 있으니 나와 같은 문제를 겪었던 사람은 참고하..