본문 바로가기

문제풀이122

[Python, JAVA] 프로그래머스 - 다음 큰 숫자 (문제설명 / 제한사항) (풀이 방법) 1) n을 1씩 증가해가면서 이진수로 변환한다. 2) 1의 개수가 동일하면 while문을 빠져나온다. 3) 최종 n 값을 리턴해준다. (코드 - Python) def solution(n): answer = 0 one_count = bin(n)[2:].count('1') while True: n += 1 if bin(n)[2:].count('1') == one_count: break answer = int(n) return answer (코드 - JAVA) class Solution { public int solution(int n) { int answer = 0; int one_count = 0; String binary = Integer.toBinaryString.. 2022. 9. 26.
[JAVA] 프로그래머스 - 카카오프렌즈 컬러링북 (문제 설명) (코드) 영역 개수 구할 때 사용하는 함수는 countArea()와 deepCountArea() 최대 영역 크기 구할 때 사용하는 함수는 maxArea()와 deepMaxArea() 이중 for문을 돌면서 재귀 함수로 각각의 index에 deep 하게 접근하는 방식을 택했다. 이때 if문의 조건이 영역 개수, 최대 영역 크기를 구하는 차이라고 보면 된다. import java.util.*; class Solution { public int[] solution(int m, int n, int[][] picture) { int numberOfArea = countArea(picture); System.out.println(numberOfArea); int maxSizeOfOneArea = ma.. 2022. 4. 6.
[JAVA] 프로그래머스 - 오픈채팅방 (시간복잡도 빅오 O(n)) (문제 설명) (제한사항) (코드) 빅오 O(n)으로 만들어 작성했고, 중요한 부분은 첫 번째 for문에서의 count 쓰임과 두 번째 for문에서 count 쓰임이 다르다는 것만 신경 써서 보면 될 것 같다. import java.util.*; class Solution { public String[] solution(String[] record) { /* 유저아이디, 닉네임 */ Map map = new HashMap(); int count = 0; for(int i=0; i= 3){ map.put(col[1], col[2]); if("Change".equals(col[0])){ count++; } } } String result[] = new String[record.length - count]; .. 2022. 3. 30.
[창의적 프로그래밍을 위한 파이썬] 10장 연습문제 1. 괄호 안의 인자인 number1, number2를 입력값으로 받아 result=(num1+num2)을 수행하고, 그의 결괏값 result를 반환한 후 종료하는 이름이 average라는 함수를 정의해보자. def average(number1, number2): result = number1+number2 return result print(average(1,2)) 2. 다음과 같은 함수가 정의되어 있을 때, 다음 실행문의 결과를 예측해보자. def print_list(num_list): for n in num_list: if(n != 0): print(n) else: break print_list([1,2,3,0]) #결과 #1 #2 #3 3. 기억해야할 중요한 사항은 함수를 정의하는 것과 함수를 수.. 2021. 6. 8.
[창의적 프로그래밍을 위한 파이썬] 9장 연습문제 1. 반복의 횟수를 미리 지정할 수 있는 경우 또는 범위를 알고 있는 경우에는 ( for문 )을, 그렇지 않고 반복의 횟수를 조건식에 의존하는 경우에는 ( while문 )을 사용한다. 2. 다음 프로그램 중 잘못된 부분을 찾아보자. count = 1 while count 2021. 5. 23.
[창의적 프로그래밍을 위한 파이썬] 8장 연습문제 1. 아래의 예시를 보고 list형과 tuple형 중 선택하여 각각 빈칸을 채워보자. 홈페이지에서 정보 수정 및 추가를 위해 사용할 수 있는 자료형은 ( list형 )이고, 해킹으로 인한 정보 수정을 막기 위해 사용할 수 있는 자료형은 ( tuple형 )이다. 2. list와 tuple형은 index 구조이기 때문에 ( slice기능 )과 ( 연산 )이 가능하다. 3. 맞으면 O, 틀리면 X를 표시해보자. [O, X문제] 1번. >>> tuple = ('Hello', 'My', 'name', 'is', '예슬') >>> tuple[4] = '지수' 위의 프로그램을 실행했을 경우, tuple의 원소 값은 ('Hello', 'My', 'name', 'is', '지수') 이다. (X) 2번. tuple에서도 .. 2021. 5. 23.