분류 전체보기

문제 15659번: 연산자 끼워넣기 (3) 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 접근 방식 기존의 연산자 끼워넣기 1, 2번 시리즈와 비슷하지만 연산자의 우선순위를 적용해야 해서 선택한 연산자들을 배열에 기록해 두었다 나중에 한 번에 연산을 해줘야 한다. 중간중간에 처리해서 빠르게 계산을 해보려 했는데 예제들은 통과가 되지만 제출하면 도무지 1 퍼에서 올라가질 않길래 포기하고 한 번에 연산을 해줬다. 기존 방식대로 각각의 연산자들을 선택할 수 있을 때 선택하는 방식으로 진행하..
문제 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 접근 방식 백트래킹으로 조건을 체크해가며 암호를 만들어주는 문제다. 암호는 다음과 같은 조건을 체크해줘야한다. 암호는 사전순으로 오름차순으로 정렬되어야 한다. 모음은 하나 이상, 자음은 2개 이상 포함되어야 한다. 그래서 입력으로 받은 문자 배열을 사전순으로 정렬한 후에 백트래킹으로 조합을 해주면서 모음과 자음을 카운트하여 파라미터로 들고 다니면 된다. 계속해서 조합을 하다 원하는 암호의 길이를 만족하면 모음과 자음수가 조건을 만족하는지 체크하고 만족하면 출력해..
문제 15658번: 연산자 끼워넣기 (2) 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1보다 크거나 같고, 4N보다 작거나 같은 4개의 정수가 주어지는데, 차례대 www.acmicpc.net 접근 방식 연산자 끼워넣기 1번이랑 다른 점은 주어진 연산자의 수가 주어진 수들보다 많을 수 있다는 것인데 기존 방식 그대로 풀어도 딱히 문제는 없다. 기존의 백트래킹 방식 자체가 애초에 모든 연산자를 다 사용해보기 때문에 수의 개수와 맞지 않아도 모두 조합해볼 수 있다. 풀이 class Main { static int n, max = -1000000001, min = Integer.MAX_VALUE..
개요 토비의 스프링을 다시 읽으며, 개념을 자세히 정리하기보다는 면접에 나올 만한 부분을 질의응답 형식으로 정리하려고 합니다. 책을 읽는 동안 지속적으로 업데이트되는 게시글입니다. 친절하게 설명을 해주시기 위해 분량이 많아진 것이라 생각하기 때문에, 입문자도 한 번 정도는 읽어보는 것도 좋다고 생각합니다. 내용의 순서는 가나다 순이 아닌 책의 흐름에 따라 진행됩니다. 전체 글 목록은 아래 페이지에서 확인할 수 있습니다. 토비의 스프링으로 면접 준비하기 질문 및 답변 1권의 3장인 템플릿 챕터에 대한 질답 목록입니다. 템플릿이란 변경이 거의 일어나지 않으며 일정한 패턴으로 유지되는 특성을 가진 부분을 자유롭게 변경되는 성질을 가진 부분으로부터 독립시켜 효과적으로 활용할 수 있도록 하는 방법이다. 즉, 고정..
문제 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시 www.acmicpc.net 접근 방식 백트래킹을 사용해 0 ~ 9까지의 수들을 한 번만 사용하며 조합해가면서 주어진 부등호의 순서와 대소관계가 일치하는지 확인해주면 된다. 첫 번째 고른 숫자를 제외하고 이후에는 부등호와 이전 숫자와 현재 숫자가 일치하는지 확인해주며 진행하면 된다. 모든 숫자를 고른 후에 부등호를 비교하는 것도 상관 없지만 매번 숫자를 고를 때마다 확인하면 중간에 맞지 않는 경우에 멈출 수 있어서 좋다. k가 9인 경우 최대 값이 9876543210이기 때문에 int 타입의 변수..
개요 토비의 스프링을 다시 읽으며, 개념을 자세히 정리하기보다는 면접에 나올 만한 부분을 질의응답 형식으로 정리하려고 합니다. 책을 읽는 동안 지속적으로 업데이트되는 게시글입니다. 친절하게 설명을 해주시기 위해 분량이 많아진 것이라 생각하기 때문에, 입문자도 한 번 정도는 읽어보는 것도 좋다고 생각합니다. 내용의 순서는 가나다 순이 아닌 책의 흐름에 따라 진행됩니다. 전체 글 목록은 아래 페이지에서 확인할 수 있습니다. 토비의 스프링으로 면접 준비하기 질문 및 답변 1권의 2장인 테스트 챕터에 대한 질답 목록입니다. 테스트의 가치와 장점, 활용 전략, 스프링과의 관계에 대해 질답입니다. 테스트의 유용성 테스트는 코드가 예상하고 의도한 대로 정확히 동작하는지 확인하여 확신할 수 있게 해주는 작업으로, 이를..
개요 토비의 스프링을 다시 읽으며, 개념을 자세히 정리하기보다는 면접에 나올 만한 부분을 질의응답 형식으로 정리하려고 합니다. 친절하게 설명을 해주시기 위해 분량이 많아진 것이라 생각하기 때문에, 입문자도 한 번 정도는 읽어보는 것도 좋다고 생각합니다. 내용의 순서는 가나다 순이 아닌 책의 흐름에 따라 진행됩니다. 목차 [토비의 스프링으로 면접 준비하기] 1장:오브젝트와 의존관계 [토비의 스프링으로 면접 준비하기] 2장:테스트 [토비의 스프링으로 면접 준비하기] 3장:템플릿
문제 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 접근 방식 쉬운 조합 문제인데 문제를 잘못 봐서 헤맸다. abs(num[0] - num[1]) + abs(num[2] - num[3]) + ... + abs(num[n - 2] - num[n -1]) 가 아니라 abs(num[0] - num[1]) + abs(num[1] - num[2]) + ... + abs(num[n - 2] - num[n -1]) 인 부분을 조심해야 한다. 이 부분만 조심하면서 재귀 호출 시 파라미터로 이전까지의 계산을 넘겨주면서 백트래킹을 이용해 조..
da9dac
'분류 전체보기' 카테고리의 글 목록 (3 Page)