1. 20개의 병 중 19개에 1그램의 무게가 들어있고, 1개에는 1.1 그램 무게가 들어있다. 정확한 값을 계측할 수 있는 저울을 단 한번만 사용하여 무거운 병을 찾는 방법은?
1번은 이상해서 구글링해봤는데
병에서 원하는만큼 그 알약을 꺼낼 수 있다고 하니깐 그렇게 품
병에 넘버를 1~20까지 붙히고
병 1에서 1개 병 2에서 2개 병 3에서 4개 병 4에서 8개 이런식으로 꺼냄
그리고 꺼낸 알약 전체의 무게를 잼
0.8그램 더 많이 나가면 병 4였고 0.1그램 더 많이 나가면 병 1이 무거운 병이겠지
ㅇㅇ.
2. (이건 길어서 번역하기 귀찮아서 복붙 ㅎㅎ)
You are given two 32-bit numbers, N and M, and two bit positions, l and j. Write
a method to insert M into N such that M starts at bit j and ends at bit i. You can
assume that the bits j through i have enough space to fit all of M. That is, if
M = 10011, you can assume that there are at least 5 bits between j and i. You
would not, for example, have j = 3 and i = 2, because M could not fully fit
between bit 3 and bit 2.
EXAMPLE
Input: N = 10000000000, M = 10011, i = 2, j = 6
Output: N = 10001001100
뭔소린지 모르겠지만
input을 받고 나보고 output이 나오게 짜보라면
N이랑 M을 스트링으로 받아서 뒤집은 다음
2 to 6 구간에선 m의 값을 넣고
나머지 구간에선 n의 값을 넣고
다시 리버스시킬거임
배열 숫자로 바꾸는건 뭐 상관 없겠고
3. n개의 계단을 계단 1개씩, 2개씩, 3개씩 올라갈 수 있다고 할때, 끝까지 오르는 모든 가능한 경우의 수는?
ans[0] = 0, ans[1] = 1, ans[2] = 2, ans[3] = 4//맞나?
재귀식 : ans[n] = ans[n-1] + ans[n-2] + ans[n-3]
4. 카지노에서 쓰는 일반적 카드의 자료구조를 설계하고 블랙잭용으로 어떻게 확장할 수 있는지 보일것
4번은 하자면 각잡고 해야할거같으니 제외하고
나머지 문제는 대학 2학년이라면 무난하게 풀듯
1번 문제에서 무거운 알약이 든 병이 단 하나라면 1번 병의 알약 1개, 2번 병의 알약 2개 이런식으로만 꺼내도 딱히 상관이 없음
1번은 내가 문제를 잘못봐서 무거운 알약이 여러개 있을지도 모를 거 같아서..