전체 글

코딩 한 것들 정리하는 사이트
coding_test/programmers

lv1 / 크레인 인형 뽑기 게임 / 카카오 기출 / C++

https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력받은 board를 스택벡터로 다시 재구성하여, 맨 위에서부터 인형을 가져가기 용이하게 board를 재구성했다. 이후, moves에서 움직이라는대로 움직이며, 바구니에 인형을 담아보고, 맨 위의 인형과 담을 인형이 같으면 터뜨리고 2를 더하면 된다. 자꾸 1만 더해서 왜 틀렸지 했었다....ㅎㅎ #include #include #include using namespace std; int solu..

coding_test/BAEKJOON

백준 13549번 C++ 풀이

https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 2초 512MB 골드 5 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간..

coding_test/BAEKJOON

백준 1697번 C++ 풀이

https://www.acmicpc.net/problem/1697 시간 제한 메모리 제한 solved.ac 티어 2초 128MB 실버 1 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K..

coding_test/programmers

lv1 / 키패드 누르기 / 카카오 기출 / C++

https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 거리를 어떻게 따져야 할지가 정말 고민이어서, "그래프를 작성하고 최단거리 알고리즘을 돌려야 하나" 라고 생각할 정도로 생각을 많이 했었는데, 생각해보니까 *, 0, #을 각각 10, 11, 12로 생각해보니까, 거리를 구하는 방법이 떠올랐다. 1 2 3 4 5 6 7 8 9 10(*) 11(0) 12(#) 키패드가 다음과 같이 구성되어있으므로, 두 번호간의 거리는, (두 번호의 y축방향 차이) ..

coding_test/programmers

lv2 / 문자열 압축 / 카카오 기출 / C++

https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1개 단위부터 시작하여 s의 절반길이만큼의 단위로 자를때 압축된 문자열의 길이들의 최소값을 구한다. 절반의 길이를 넘어가면 압축되지 않기 때문이다. s가 한글자일때 에러가 났었는데(검증 테스트 케이스 5번), 글자가 한글자라면 반복문을 돌지 않고 바로 answer값을 반환하는데, 이때 최솟값을 구해야 하기 때문에 answer에 담긴 큰 수가 반환되었다. 따라서 s가 한글자일때는 예외로 처리했다. ..

coding_test/BAEKJOON

백준 1543번 C++ 풀이

https://www.acmicpc.net/problem/1543 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한 www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 2초 128MB 실버 4 문제 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어, 문서가 abababa이고, 그리고 찾으려는 단어가 ababa라면, 세준이의 이 함수는 이 단어를 0번부터 찾을 수 있고, ..

coding_test/programmers

lv1 / 소수 만들기 / C++

https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 에라토스테네스의 체를 만들고, 순열을 통해 주어진 숫자중 3개를 뽑아 그 세 수의 합이 소수인지 파악하면 된다. #include #include #define LEN 50001 using namespace std; bool seive[LEN]; void set_seive () { fill(seive, seive + LEN, true); sei..

coding_test/programmers

lv1 / 신고 결과 받기 / 카카오 기출 / C++, Python

https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 한 유저가 같은 유저를 여러번 신고했다면 report 벡터에는 같은 문자열이 여러개 들어있다는 뜻이다. 이를 알아냈다면 단순히 report벡터를 사용하기 전에 중복을 제거해주면 된다. 이후로는 신고 당한 횟수를 세고, 그 횟수가 k보다 많으면 메일을 날리면 되니까 이를 순서대로 하면 된다. #include #include #include #include ..

CodeJin
MyCodingStudyNote