Загружаем каталог…
Загружаем каталог…
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/70129 난이도 : Lv.2 분류 : 요약 : 문제를 내 말로 한두 줄 접근 방법 입력 크기 / 시간 제한으로 판단한 방향: 사용한 알고리즘 / 자료구조와 선택 이유: 풀이 코드 class Solution { public int[] solution(String s) { int convert = 0, removed = 0; while (!"1".equals(s)) { int ones = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '1') ones++; } removed += s.length() - ones; // 제거한 0의 개수 s = Integer.toBinaryString(ones); // 길이(=1의 개수)를 2진수로 convert++; } return new int[]{convert, removed}; } } 복잡도 시간: O() 공간: O() 막혔던 부분 / 틀린 이유 계속 문자열 변환을 해서 메모리가 많이 사용되었다. toBinaryString() 이라는 함수의 존재를 몰랐다.
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
# [프로그래머스 LV2, 월간 코드 챌린지 시즌1] 이진 변환 반복하기. 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/70129 난이도 : Lv.2 분류 : 요약 : 문제를 내 말로 한두 줄 접근 방법 입력 크기 / 시간 제한으로 판단한 방향: 사용한 알고리즘 / 자료구조와 선택 이유: 풀이 코드 class Solution { public int[] solution(String s) { int convert = 0, removed = 0; while (!"1".equals(s)) { int ones = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '1') ones++;…
Открыть источник