while n!=0:
binary += str(n % 2)
n //= 2
이런식으로 이진수 변환을 했었는데
자꾸 시간초과가 나와서 답지보고 함수를 이용해 이진수 문자열로 변환했더니 해결됐다.
함수쓰는게 자바 파이썬 모두있고 구현도 쉬우니 외워둬야겠다.
python
n=15일때 bin(n) 하면 "0b1111" 이 반환된다.
java
int n = 15
String binaryString = Integer.toBinaryString(n)
2진수 문자열 -> 10진수 숫자도 가능하다.
int binaryToDecimal = Integer.parseInt(binaryString, 2);
문자열에서 특정문자 개수 세는게 있을것 같은데 생각이 안나서 반복문 돌렸다.
이것도 외워두면 편할것같다.
문자열 함수를 외워보자 따로 챙겨서
binary.count('1') -> 4