num 변수에 숫자를 입력받고 int(num,2)로 2진수를 10진수로 바꿔서 res1에 넣어준다.format(res1,'o')로 10진수를 8진수로 바꿔준다.8진수나 16진수를 %o, %x로 표현은 해보았는데 format안에서 'o'를 사용한 것은 처음이다. 새로웠고
a와 b를 입력받고 슬라이스를 이용해서 뒤집어준다. a+b 후 슬라이스를 이용해서 뒤집어준다.
숫자의 개수를 입력하고 소수의 개수를 구할 count 변수를 선언한다.이중 반복문을 이용해서 입력한 숫자가 나누어 떨어지는 거 없이 1씩 증가해서 입력한 숫자와 같아지면 소수이므로 count를 1증가 시킨다.기초 문제로 누구나 해결할 수 있는 문제인 것 같다.\-> h
num에 숫자를 입력하고 횟수를 알려주는 cnt 변수를 선언한다.num 길이가 1보다 클때까지 while문을 반복하고 cnt를 1 증가시키고 answer에 num 한 글자씩 int로 변환해서 더해준다.더해진 answer를 num에 대입을 해주고 횟수를 출력하고 num
dp에 계산된 값을 저장한다. 계산할 나누기가 1을 뺀 값보다 작거나 큼에 따라 어차피 교체되서 1을 빼준다. 동적계획법을 이용해서 상황에 따라 나눈다.
난쟁이 키를 입력하고 sum 변수에 난쟁이 키들의 합계를 넣어준다. 오름차순으로 정렬하고 9명의 키의 합에서 2명을 뺐을 때 100이 된 경우 그 수를 fake1과 fake2에 넣어준다. 출력할 때 fake1과 fake2는 생략하고 나머지 난쟁이의 키를 출력한다.
시와 분을 입력한다. 분이 45분보다 작을 때 시간이 0시면 23시로 바꾸고 60분을 더해준다. 그 외는 시간을 1시간 빼주고 60분을 더해준다.
입력한 단어를 upper()를 통해 대문자로 바꿔준다. set을 사용해서 중복값을 제거한다. count 숫자를 리스트에 append한다. 숫자 최대값이 중복되면 물음표를 출력하고 그렇지 않으면 많이 사용된 알파벳을 출력한다.
문자열을 입력하고 b의 길이에서 a의 길이를 빼고 +1의 길이를 범위로 지정한다.a와 b를 비교했을 때 같지 않으면 cnt를 1씩 증가하고 append를 이용해서 answer에 추가한다.answer 중 최소값을 출력한다.
A배열과 B배열을 오름차순으로 정렬하였다. A배열은 최소값부터 B배열은 최대값부터 곱해서 sum에 더해줬다. 문제에서는 B 배열을 재배열하지 마라고 하였는데 다른 사람들은 어떻게 풀었는지 보았는데 다들 정렬을 하였길래 나도 그렇게 하였다.
본 문제는 이분 검색을 활용해서 풀어야 한다. low는 0을 high는 입력할 숫자보다 -1을 넣어주고 찾는 값의 크기와 비교하면서 답을 찾는다.
arr 배열에 0부터 9의 숫자를 담는다. 방 번호가 0보다 클 때까지 방 번호를 10으로 나누었을 때 나머지를 k에 넣어주고 k가 6이나 9면 arr[9]가 증가하고 아니면 arr[k]가 증가하며 숫자는 10으로 나누어준다. 0~8까지의 숫자 중 최대값 변수와 6 또
본 문제는 이분 탐색을 활용해야 한다.start는 0을 end는 입력한 숫자보다 -1을 대입한다.start가 end보다 작을 때까지 반복문을 실행해서 쌍의 개수를 출력한다.이분 탐색 문제를 풀어본 적이 꽤 많은데도 아직까지는 완전하게 익숙하지는 않은 것 같다. 다음에
본 문제는 시간 제한으로 인해서 이중 for문으로만 해결해서는 안되고 에라토스테네스의 체를 사용해야 한다.두 번째 숫자+1 크기으 boolean 배열을 만든다.이중 for문 구조로 n의 배수를 true로 저장한다.true가 되지 않는 false는 소수가 된다. 처음에
입력한 숫자들을 sum에 더해주고 Math.max()를 이용해서 현재까지 값들을 이용해서 최대값을 구별한다.모든 원소가 음수일 경우에는 정렬에서 가장 첫 번째 수를 출력한다.처음에는 어떻게 해야 될지 생각을 하다가 수들을 더해주다가 현재 더한 숫자들을 활용해서 최대값을
제곱이 1인 경우에는 a%c를 한다.지수의 절반 값을 구하고 지수가 홀수인 경우와 짝수인 경우로 나눈다.지수가 홀수인 경우 먼저 나머지를 취하고 계속해서 곱한다.지수가 짝수인 경우 지수의 절반 \* 지수의 절반 %c를 한다.지수의 절반 값을 구하는 것은 어느 정도 생각
S를 K로 나눈 값을 div에, S를 K로 나눈 나머지를 mod에 넣어준다.k까지 반복문을 통해서 나머지 갯수만큼 div에 +1한 값을 max와 곱해준다.i가 mod보다 크면 max에 div를 곱해준다.간단하게 알고리즘만 구현하면 되여서 생각보다 쉬운 문제였다.
동전들을 for문을 통해서 입력을 한다. 역순으로 합(K)/동전(coin[i])한 값을 cnt에 더해준다. K에 합(k)를 동전으로 나눈 나머지 값을 넣어준다.