본문 바로가기

반응형

알고리즘

(104)
[Codeforces] Educational Codeforces Round 49 (Rated for Div. 2) 저의 2번째 코포입니다! 물론! 떡락했습니다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ히잉... 떡상을 위해 다시 풀며 복습했던 내용을 블로그에 올리겠습니다!아자아자! A. Palindromic Twisttime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a string ss consisting of nn lowercase Latin letters. nn is even.For each position ii (1≤i≤n1≤i≤n) in string ss you are required to change the letter on this position eith..
[Codeforces] Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) 요즘 코드포스에 빠져살았었습니다. 보면 한동안 알고리즘 문제풀이가 안올라왔을 적이 조금 있을탠데, 이 때가 바로 코포에 빠져살 때입니다!처음에 영어문제이고, 2시간에 7문제 풀이는 익숙하지가 않아서 굉장히 해매느라 더 늦게 푼 것 같습니다 ㅠㅠㅠ 어쨌든, 이 코포 덕분에 알고리즘 문제풀이 올리는것들도 엄청 미뤄져서 빨리 올려야겠습니다! 지금부터라도!! 후우.. 19문제를 내리 올려야하다니 너무 걱정이 많군요! 빠르게 시작하겠습니다. A. Single Wildcard Pattern Matchingtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given two ..
[프로그래머스] 2018 섬머코딩! 프로그래머스라는 홈페이지에도 굉장히 많은 알고리즘 문제들이 있다는 것을 확인했습니다. 특히, 카카오 공채 문제들이라던지, 엄청 많이 있죠! 오늘은 이중에서 2018 섬머 코딩 4 문제를 풀어보겠습니다!! https://programmers.co.kr/learn/challenges 문제는 위에 링크를 클릭하시면 볼 수 있습니다!! 1. 숫자 게임 문제 설명xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 자연수를 하나씩 부여받습니다.각 사원은 딱 한 번씩 경기를 합니다.각 경기당 A팀에서 한 사원이, B팀에서 한 사원이 나와 서로의 수를 공개합니다. 그때 숫자..
[SW Expert Academy] 8월의 마지막 코드배틀 어느덧 8월도 끝나부렀네요.진짜 생각해보면 시간이 빠릅니다. 여름 핵더웠는데, 이제는 조금 괜찮아진것도 같고,산 다닐때 모기도 정말 드럽게 많았는데, 요즘은 또 잠잠하더라구요. 어쨌든, 화요일마다 시행하는 코드배틀! 오늘도 시작하겠습니다. SW Expert Academy의 문제들은 무단 복제가 금지되어있기 때문에 링크로 대체하겠습니다! 클릭시 이동합니다. 5431. 민석이의 과제 체크하기 어떻게 풀까? 카운팅 소팅을 응용합시다! 우선, 과재의 개수 N만큼 check 배열을 만듭니다.그리고 입력이 들어올때마다 해당 check배열을 true로 만들어줍니다. 그리고 입력이 끝나면, 이제 1부터 N까지 순회하면서 check배열이 false라면 해당 수를 출력하면 쉽게 구할 수 있을 것 입니다! 코드 123456..
[BOJ] 5213. 과외맨 과외맨클릭시 이동합니다. 어떻게 풀까? 굉장히 힘들었습니다.우선, 문제의 절반이 별로 문제 푸는데 도움이 안된다는 사실에 좌절했습니다. 허허 이 문제는 BFS문제이지만, 단계를 잘 설정해서 수행해야 한다는 것이 중요합니다.문제를 풀기 위해서 생각해야 할 것들에 대해서 생각해 봅시다. 1. 타일들 간에 이동가능한 인접 행렬을 만들어야 합니다.2. BFS를 통해서 최단 거리를 찾습니다.3. 최단 거리를 찾는 경로를 어떻게 출력할지 생각해야 합니다. 이 중에서 가장 어려운 것은 1번 입니다. 타일을 어떻게 붙일지에 대해서 생각해 봅시다! 일단, 약간 귀찮은 점은 홀수행과 짝수행에서 타일의 개수가 다르다는 것입니다! 우선은, 타일을 모두 왼쪽으로 밀어넣어서 생각해봅시다!또한, 타일에 여러 정보가 있기 때문에 따..
[BOJ] 11559. Puyo Puyo Puyo Puyo클릭시 이동합니다. 어떻게 풀까? 시뮬레이션문제입니다!시뮬레이션 문제는 문제에서 요구하는 것들에 대해서 구조체와 함수를 잘 만들어야합니다! 해당 문제에서 요구하는 것은 크게 두 가지 입니다. 1. 상 하 좌 우로 4개의 블럭들이 모여있으면 터뜨려라!2. 빈 공간이 생기면 아래로 내려라! 두 가지 모두 이전에 했던 밍이의 블록게임과 유사한 작업입니다.만약, 글만으로 잘 이해가 안된다면, 해당 포스팅을 한번 보시는 것을 추천드립니다! 그럼 우선, 1번 작업에 대해 프로그래밍을 해봅시다. 우선, 맵을 다 보면서 블록이 있는지 확인합니다. 그리고, 만약 블록이 있다면,아래 단계를 순서대로 실행합니다. 1. 블록의 상하좌우에 같은 블록이 있으면 큐에 담고, visit check를 해준다.2. 블록..
[SW Expert Academy] 5360. 모든 섬의 통신 비용 5360. 모든 섬의 통신 비용 SW Expert Academy의 문제들은 보안문제가 있기 때문에 링크로 대체합니다.클릭시 이동합니다! 어떻게 풀까? 저도 해당문제를 풀지 못해 갓갓분들의 도움을 받았음을 미리 알려드립니다! 우선, 이 문제는 싸이클들을 기준으로 풀어야 한다는 것을 알 수 있습니다! 싸이클이 생긴다면 이를 끊어줘야하기 때문이죠! 우선, 이 문제의 특징은, 노드 하나에 간선 하나가 꼭 있다는 것이죠! 따라서, 만들어야 하는 그래프의 모습은 항상 이런 모습입니다. 이 모습 만이 바로 모든 섬이 통신을 할 수 있는 상태이죠! 가장 큰 특징은, 모든 노드들이 딱 하나의 in-degree를 가진다는 것이죠!그렇다면, 일단 정답을 위한 가장 큰 솔루션을 얻을수 있습니다. in-degree가 1보다 크..
[SW Expert Academy] 4335. 무인도 탈출 4335. [연습문제] 무인도 탈출 SW Expert Academy의 문제들은 저작권 때문에 무단 복제가 금지되어있기 때문에 링크로 대체하겠습니다.클릭시 이동합니다! 어떻게 풀까? 우선 직육면체의 특징에 대해서 살펴봅시다! 직육면체는 말 그대로 6개의 면을 가지고 있습니다.하지만, 생각해보면 그 특징은 가로, 세로, 높이의 세 가지 길이로 이루어져있죠! 즉, {가로, 세로}, {세로, 높이}, {높이, 가로}의 세 가지 방향으로 놓을 수 있다는 것을 알 수 있습니다!! 또한, 블록의 특성상 메모이제이션을 쓰면 굉장히 적절할 것 같다는 생각을 해볼 수 있습니다.20개의 블록이니까 비트로 나타내서 비트를 이용한 메모이제이션을 사용하면 될 것입니다! 어떤 비트가 주어지면, 값이 0 으로 세팅되어있는 블록들을 ..

반응형