본문 바로가기

반응형

전체 글

(171)
[BOJ] 2789. 유학 금지 문제 링크 어떻게 풀까? 주어진 배열에서 C, A, M, B, R, I, D, G, E글자가 아니라면 결과를 출력하기 위한 캐릭터형 배열에 따로 보관해주면 됩니다! 예를 들어보겠습니다! LOVE가 입력으로 들어오면 어떻게 해야할까요!? L은 해당 글자와 상관없기 때문에 res[0]에 넣습니다!O 도 마찬가지이기 때문에 res[1]에 넣습니다!V도 마찬가지이기 때문에 res[2]에 넣습니다!E는 검열되는 글자이기 때문에 버립니다. 그럼 결과는 "LOV"가 됩니다. 코드 12345678910111213141516171819202122232425262728293031323334353637#pragma once#include#include using namespace std; char del[10] = "CAM..
[BOJ] 5622. 다이얼 문제 링크 어떻게 풀까? 단순한 구현문제입니다! 알파벳이 입력되었을때, 해당 알파벳에 해당하는 시간으로 변환해주는 배열을 만들면 쉽게 해결할 수 있습니다! 예를 들면, t['A'] = 3, t['B'] = 3, ... 이렇게 저장해놓으면, UNUCIC 가 들어왔을 때 쉽게 이 문자열을 숫자로 변환해서 더해줄 수 있습니다! 코드 12345678910111213141516171819202122232425262728293031323334#include#include using namespace std; int conv[256];char nums[16]; int main() { for (int i = 0; i > nums; int len = strlen(nums); int t = 0; for (int i = 0..
[BOJ] 12782. 비트 우정지수 비트 우정지수 클릭시 이동합니다! 어떻게 풀까? 할 수 있는 연산은 2개 입니다! 1. 두 수의 위치를 바꾼다.2. 한 수의 비트를 바꾼다. 두 수의 위치를 바꿀 수 있다는 것은, 한 번의 연산으로 두 개의 수를 동시에 고칠 수 있다는 가능성을 가지고 있다는 것이죠. 한 번에 두 수의 비트를 옳게 바꾸는 방법은 무엇일까요!? 만약 바꾸고자 하는 두 수가 같다면, 연산의 의미가 없습니다. 만약, 바꾸고자 하는 두 수의 비트가 다르다고 하더라도, 이미 제대로 된 짝을 가지고 있다면, 바꾸는 의미가 없습니다. 즉, 한 번의 연산으로 두 개의 비트를 똑같게 만들고 싶다면, 위처럼 서로 짝이 맞지 않으면서, 서로 다른 비트를 가지는 두 비트의 자리를 바꿔야 합니다! 지금까지 한 번의 연산으로 서로 다른 두 자리에..
[Codeforces] Manthan, Codefest 18 (rated, Div. 1 + Div. 2) 6번째 코포 도전기, 풀이 시작합니다! A. Packetstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou have nn coins, each of the same value of 11.Distribute them into packets such that any amount xx (1≤x≤n1≤x≤n) can be formed using some (possibly one or all) number of these packets.Each packet may only be used entirely or not used at all. No packet may be used ..
[프로그래머스] 2018 하반기 공채 대비 코딩테스트 실전 모의고사 1회 이번에 프로그래머스에서 공채 코댕 대비 코딩 테스트 실전 모의고사라는 느낌으로 문제를 출제했습니다!3 문제 이고, 2시간 반의 시험 시간을 가졌죠!생각보다 난이도가 쉬웠지만, 역시 생각보다 푸는 시간이 늦었네요 ㅋㅋㅋㅋ 그럼, 1번 부터 한 번 풀이를 시작하게씁니다! 참고로, 제가 푼 방법 말고도 공식적인 해설이 궁금하시다면, 여기를 가보세용! 1번 팰린드롬 문제 설명앞에서부터 읽을 때와 뒤에서부터 읽을 때 똑같은 단어를 팰린드롬(palindrome)이라고 합니다. 예를들어서 racecar, 10201은 팰린드롬 입니다.두 자연수 n, m이 매개변수로 주어질 때, n 이상 m 이하의 자연수 중 팰린드롬인 숫자의 개수를 return 하도록 solution 함수를 완성해 주세요.제한사항m은 500,000이하..
[BOJ] 1405. 미친로봇 미친 로봇 성공스페셜 저지클릭시 이동합니다.어떻게 풀까? 중요한 것은 이전에 왔던 경로에 도착하지 않는 경우의 확률만 구해야 한다는 것입니다.즉, DFS를 통해서, N번을 이동하면서, 자신의 위치를 visit처리 해준 다음에, visit처리 되지 않은 방향으로만 이동합니다!그리고, 각 방향으로의 확률이 있기 때문에, 자신이 현재 도착한 위치의 확률 * 다음으로 이동할 확률을 계속 곱해가면서, 자신의 현재 위치에 대한 확률을 계속 가지고 있습니다! 그리고, N번의 이동을 완료했으면, 결과 확률에 그 확률을 더해주고, 이전 상황으로 돌아가서, 다른 방향을 탐색합니다! 그림으로 예를 들어 드리겠습니다! 처음엔 이 장소에서 시작합니다! 오른쪽으로 이동할 수 있습니다!예제에서는 오른쪽 확률이 0.25이기 때문에,..
[BOJ] 2206. 벽 부수고 이동하기 벽 부수고 이동하기 성공클릭시 이동합니다. 어떻게 풀까? 최단 경로를 구하기위해 단순한 BFS로 풀려고하면 약간의 오류가 생깁니다!바로, 벽을 부술수 있는가? 의 유무 때문이죠! 따라서, 벽을 부술수 있는지의 여부를 따로 저장하기 위해 visit 배열을 2개 사용합시다!이렇게 관리하면, 평범하게 BFS를 돌려서 만약, (n,m)에 도착하면, 그 때의 이동 횟수를 출력하면 바로 그것이 최소 거리 입니다! 사실, 이 문제는 이전에 포스팅했던 미로탈출 과 아주 유사합니다!만약, 잘 이해가 안되시면 해당 포스팅을 확인해 주세용!! 코드 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354..
[BOJ] 6603. 로또 로또클릭시 이동합니다. 어떻게 풀까? 조합 문제입니다! 심지어 숫자들도 오름차순으로 들어오기 때문에, 조합 짜는 코드만 잘 짜주시면 됩니다! 참고로, 최대 길이가 13밖에 되지 않으니, 선택했다는 것을 비트로 이용하여 나타낼 수 있습니다! 재귀 함수로 순열을 짜는 방법은 다음과 같습니다. 1. 해당 배열을 선택한다! - 이 경우에는 해당 배열을 선택했다는 select check를 해주고 다음 인덱스를 확인합니다.2. 해당 배열을 선택하지 않는다! - 이 경우에는 아무런 처리를 하지 않고 다음 인덱스를 확인합니다! 이렇게 하면, 마지막에 r이 0이 되거나, n이 r과 같아지는 경우에는 visit을 적절하게 1로 만들면서 visit을 이용하여 선택된 숫자들을 출력하면 됩니다. 코드 12345678910111..

반응형