본문 바로가기

알고리즘 공부28

[프로그래머스] 불량 사용자 - 카카오 19년 동계 인턴 https://school.programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 랜덤 AI 추천 문제로 뜬 문제! 레벨 1문제인줄 알았지만, 풀고나니 레벨3 문제였네요.. 왠지 풀다가 턱걸리는 느낌.. 풀이의 파트를 2개로 나누어 접근했습니다. 1. 밴 id가 될 수 있는 user를 찾기 2. 찾은 user들의 조합으로 겹치지 않는 조합구하기 1 의 경우 banned_id를 돌면서 user와 길이가 같고, *표시가 되어있지 않은 알파벳 위치가 동일한 user를 저.. 2024. 1. 22.
비트 연산으로 조합구하기 '1 ~ 10 의 수들 중 숫자 3개 뽑기' 와 같은 조합의 개념을 물어보는 문제들이 많은데, 이는 쉽게 백트래킹을 이용해서 구할 수 있다. 다만, 1 ~ 10 의 수들 중 뽑을 수 있는 카드의 경우의 수를 구해라 하면 조금 문제가 복잡해진다. 이런 경우에 쉽게 해당 경우의 수를 구할 수 있는 방법을 공부해보았다 비트 마스킹 이라는 기법이다. 예시로, 1, 2, 3 의 3가지 수에 대해서 모든 가능한 카드를 뽑는 방법은 2 * 2 * 2 이다. (2는 해당 카드를 뽑거나 안뽑을 경우의 수) 2 * 2 * 2를 조금 sparse하게 펼쳐보면 000 이라는 3개의 숫자로 표현이 가능하다. 예를 들어 1, 2번을 뽑을꺼다?! -> 110 3번만 뽑겠다? -> 001 그렇다면, 1, 2, 3의 3가지 수에 대해.. 2024. 1. 17.
[백준] Puyo Puyo - 11559번 문제 https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 해석 및 풀이 뭔가 내가 요즘 많이 보고 잘 풀고 싶은 유형이다. '시뮬레이션 + 연쇄 반응' 그런데 이 문제는 그런 유형 중에서도 살짝 쉬운 버전인 것 같다. 쉽다고 생각한 이유는 처음 생각대로 문제를 풀면 풀리는 것 같아서다ㅎ... 1. bfs를 이용한 터질 뿌요 찾기 2. 터진 뿌요를 제외한 놈들을 중력을 이용해 내려주기 뿌요의 공간이 12 * 6 이여서 어떻게.. 2024. 1. 13.
[백준] falling apples - 13732번 문제 https://www.acmicpc.net/problem/13732 13732번: Falling Apples The input begins with a line containing integers R and C, designating the number of rows and columns of the grid, such that 1 ≤ R ≤ 50 000 and 1 ≤ C ≤ 10. The first line is followed by R additional lines, each designating a row of the grid, from to www.acmicpc.net 풀이 방법 문제가 영어로 만들어져 있어 당황스러울 수 있지만, 요구하는 바가 간단하다. 'a' 가 apple, '#'이 벽으.. 2024. 1. 9.