코테/코딩테스트오답노트3 [코테오답] 연산자 우선순위 & 비트 연산 출력 결과 Link : https://www.acmicpc.net/problem/14391Level : G3유형 : 비트마스킹📌 문제 탐색1.종이를 자르는데, 가로 혹은 세로가 1이 되어야 한다.2.각 조각 숫자의 합이 최대가 되어야 한다. 📌 오답1. 간격 없이 한자리 수 int가 연속으로 입력 받아지는 경우char 형으로 입력 받고 int로 변환해줘도 되지만, 아래와 같이 입력받을 수 있다.scanf("%1d", &arr[i][j]); 2. 연산자 우선순위를 생각하여, 원하는 출력값이 나오게 하려면 '괄호'를 잘 쳐야 한다.고치기 전if(s & (1 고친 후if((s & (1 & 연산자의 우선 순위보다 == 연산자의 우선순위가 더 높기때문에 (s & (1 괄호로 묶지 않으면 & 보다 == 연산자가 먼저 처.. 2025. 1. 1. [코테오답] 시프트 연산 결과 대입 Link : https://www.acmicpc.net/problem/1094Level : S3유형 : 비트마스킹 📌 문제 탐색길이가 64인 막대기를 잘게 나누고 붙이며, 원하는 길이(X)로 만드는 것이 목표다. 📌 코드 설계하기 1. 원하는 길이 X 입력 받기2. for문의 i 변수는 짧은 막대 길이 변수다. sum은 막대 길이 합(모든 막대) 변수다. 3. 반복문을 돌 때 경우는 3가지다.case 1 : 현재 막대 길이가 원하는 길이보다 크면 sum은 재정의된다. (sum=i)남은 막대 버리니까 이후 코드는 실행 X (continue)case 2 : 현재 막대 길이 합이 원하는 길이보다는 작은데, 현재 가장 작은 막대 i를 더했을 때 원하는 막대길이 보다 커지는 경우 그 작은 막대는 무시 (con.. 2024. 12. 26. [코테오답] BOJ 15649번 N과 M Link : https://www.acmicpc.net/problem/15649Level : S3유형 : 백트래킹📌 문제 탐색순열 문제이다.1부터 N까지의 자연수 중에서 중복없이 M개를 고른 수열을 출력하는 문제이다. 📌 코드 설계하기1. n과 m을 입력 받는다.2. 1부터 n까지 자연수가 존재하므로 반복문 for문을 돌며 모든 경우 탐색을 시작한다.3. 재귀를 호출하여 현재 상태에서 가지치기를 하면서 모든 경우를 탐색한다.- 그러다 cnt가 m이 되는 순간 현재까지 ans에 저장된 수를 출력하는 printNum이라는 함수를 호출하고 solve 함수를 종료한다.- solve 함수가 종료되면, 방문 배열 visited와 정답 벡터 ans가 원래 이전 상태로 돌아가도록 - 해당 숫자의 visited를 .. 2024. 12. 15. 이전 1 다음