목록전체 글 (123)
풀이 보관함
🔗 문제 1759번: 암호 만들기 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는 그렇지 않다. 새 보안 시스템에서 조교들이 암호로 사용했을 법한 문자의 종류는 C가지가 있다고 ..
🔗 문제 1189번: 컴백홈 1189번: 컴백홈 첫 줄에 정수 R(1 ≤ R ≤ 5), C(1 ≤ C ≤ 5), K(1 ≤ K ≤ R×C)가 공백으로 구분되어 주어진다. 두 번째부터 R+1번째 줄까지는 R×C 맵의 정보를 나타내는 '.'과 'T'로 구성된 길이가 C인 문자열이 주어진다 www.acmicpc.net 🖍 풀이 한수는 캠프를 마치고 집에 돌아가려 한다. 한수는 현재 왼쪽 아래점에 있고 집은 오른쪽 위에 있다. 그리고 한수는 집에 돌아가는 방법이 다양하다. 단, 한수는 똑똑하여 한번 지나친 곳을 다시 방문하지는 않는다. 위 예제는 한수가 집에 돌아갈 수 있는 모든 경우를 나타낸 것이다. T로 표시된 부분은 가지 못하는 부분이다. 문제는 R x C 맵에 못가는 부분이 주어지고 거리 K가 주어지면 ..
🔗 문제 2447번 - 별 찍기 - 10 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 🖍 풀이 조각내서 출력하면 쉬운데 출력은 한 줄 단위라 애를 엄청 썼다. 그러다가 한 셀마다 공백' '인지, '*'을 찍을지 봐주게 되었다. 0, 0 0, 1 0, 2 1, 0 1, 1 1, 2 2, 0 2, 1 2, 2 패턴은 (1) 전체가 공백인 부분과 (2) N/3 패턴 부분으로 나뉜다. (1) 공백으로만 채워지는 공간은 전체 패턴을 9조각 냈을 때 (1, 1) 에 해당한다. (2) N/3..
🔗 문제 14889번: 스타트와 링크 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 🖍 풀이 어떻게 모든 경우의 수를 돌도록 함수를 짤지 고민만 하면 풀 수 있다. 이 문제에서는 팀원을 반으로 갈라야 한다. N이 6명이면 3명의 모일 수 있는 모든 조합을 구해야한다. 그렇다면 팀원을 N/2명 모일 때까지 재귀함수를 호출하도록 작성해준다. N/2명이 모이면 능력치 차이를 구하고 다시 되돌아가 조합하지 않았던 팀원에 접근한다. 팀원을 한명씩 모은다. 팀원이 다 모였다. 능력치 계산을 하고 2번으로 간다. 팀원이 다 모일 때까지 반복 ..
🔗 문제 코딩테스트 연습 - 파괴되지 않은 건물 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🖍 풀이 무식하게 BF로 풀면 시간초과가 난다. 누적합이라는 새로운 개념이 필요하며 아래 공식 블로그에서 정말 자세하게 설명하고 있다. https://tech.kakao.com/2022/01/14/2022-kakao-recruitment-round-1/ 💾 소스 #include #include using namespace std; int map[1001][1001]; int solution(vector board, vector skill) { int answer..
🔗 문제 코딩테스트 연습 - 주차 요금 계산 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #2022 KAKAO BLIND RECRUITMENT 🖍 풀이 간단하게 나누면 세 과정이다. records[i]를 차번호, 시, 분, 상태로 파싱 시간 값을 2개씩 꺼내 총 주차 시간을 구한다. 소수는 올림으로 처리해서 요금을 매긴다. 하지만 간단하지 않다. 나는 이 문제를 푸는데 자그마치 2시간이나 걸렸다.. 소수점 처리에서 막혔다. 출차가 없는 경우의 처리에서 막혔다. 1) records[i]를 차번호, 시, 분, 상태로 파싱 문제에 차 번호가 4자리로 제한되어..
🔗 문제 https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #2022 KAKAO BLIND RECRUITMENT 📝 풀이 자꾸 틀리는 바람에 인터넷에 검색해서 풀었다. 제한사항 1 ≤ n ≤ 1,000,000 3 ≤ k ≤ 10 1. 먼저 진수를 바꿔보자. 🔗참고: https://viin.tistory.com/97 [C++] 진수 변경: 숫자N을 A진법으로 바꿔보기 숫자 N을 A진수로 바꾸는 방법을 알아보겠습니다. 이 글은 머리로 진수를 바꿀 수..
숫자 N을 A진수로 바꾸는 방법을 알아보겠습니다. 이 글은 머리로 진수를 바꿀 수 있는 사람이 보시기에 좋습니다. 생각을 코드로 어떻게 짜지? 고민하시는 분들이 보세요. 방법은 N%A를 하는 것입니다. 나머지를 구하면 N = N/A 도 해줍시다. 4를 2진수로 변경하면 100 입니다. 4%2 = 0 -> 4/2 = 2 2%2 = 0 -> 2/2 = 1 1%2 = 1 -> 1/2=0 (0.5지만 다운 캐스팅됨) 0, 0, 1로 나온 값을 거꾸로 보면 100 입니다. #include #include std::string dec(int N, int A) { std::string result; while(N) { result+=std::to_string(N%A); N/=A; } std::reverse(resul..
소수 찾을 때 무식하게 반복문 걸리면 시간이 많이 걸린다는 사실은 이미 알겠죠? 아무튼 효율적으로 풀기 위한 방법이 에라토스테네스의 체를 이용한 방법입니다. 외우기 힘든 이름이네요.. https://terms.naver.com/entry.naver?docId=3405213&cid=47324&categoryId=47324 에라토스테네스의 체 에라토스테네스의 체(Eratosthenes’ sieve)는, 임의의 자연수에 대하여, 그 자연수 이하의 소수(prime number)를 모두 찾아 주는 방법이다. 입자의 크기가 서로 다른 가루들을 섞어 체에 거르면 특정 크 terms.naver.com 간단정리 1~100까지의 소수를 구해야 한다고 생각해봅시다. 100에 루트를 씌우면 10입니다. 1~10까지의 소수를 ..
🔗 문제 17509번: And the Winner Is... Ourselves! 17509번: And the Winner Is... Ourselves! 11 lines are given as the input. The $i$-th line contains two space-separated integers, $D_i$ and $V_i$, where $D_i$ is the amount of minutes required to solve the $i$-th problem, and $V_i$ is the number of incorrect verdicts on the $i$-th problem. For eac www.acmicpc.net 🖍 풀이 총 11 문제를 풀 것이다. 모든 문제를 풀 수 있는 문제들이며..