백준 14888 파이썬(DFS, *args 사용 방법)
·
프로그래밍/알고리즘(자바)
문제 : https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 배운점 : *args로 함수 정의할 때 뿐 아니라 호출할때 도 사용할 수 있다. 보통은 함수 정의할때 여러 리스트를 호출하는 용도로 종종 쓰인다고 알고 있었는데 신기하다. 풀이 : n = int(input()) nums = list(map(int, input().split())) operators = list(map(int, input().split())) # 초기화 max_value = -10**9 min_value = 10**9 def dfs(depth, total, plus, minus, multiply, divide): global max_value, min_value if depth == ..
시간 복잡도 및 아스키코드
·
프로그래밍/알고리즘(자바)
시간 복잡도 1초가 걸리는 입력의 크기 O(lgN) x 48'A' => 65 // 17차이'a' => 97 // 32차이 숫자가 저장되어있지만, 출력만 글자로 나온다고 생각
야근 지수 Level 3 #Collection.reverse
·
프로그래밍/알고리즘(자바)
야근 지수 Level 3https://programmers.co.kr/learn/challenge_codes/25 언어영역인줄... 문제가 무슨 말인지 파악을 못 해서 당황스러웠다. Collections.reverse(Arrays.asList(works))가 먹히지 않는데... API 찾아보니 linear time에만 동작한다고 한다.그 이상의 정보가 없어서 정확히 무슨 의미인지 모르겠다. 사실 문제 푸는데에는 지장없다. import java.util.*; class NoOvertime { public int noOvertime(int no, int[] works) { int result = 0; // 야근 지수를 최소화 하였을 때의 야근 지수는 몇일까요? while(no-->0){ Arrays.sort..
하샤드수 Level 2 #return 조건문 #foreach문
·
프로그래밍/알고리즘(자바)
하샤드수 Level 2 문제 자체는 split메소드만 할 줄 알면 되는 간단한 문제. 또 foreach문으로 간결하게 표현가능하다. 배운 점은 retrun값에 조건문 자체를 참거짓으로 표현가능하다는 것이다. public class HarshadNumber{ public boolean isHarshad(int num){ String[] numArr = String.valueOf(num).split(""); int sum = 0; for(String numStr : numArr){ sum += Integer.parseInt(numStr); } return num%sum==0 ; //조건문으로 retrun 가능! } public static void main(String[] args){ HarshadNumbe..
행렬의 곱셈 Level 2 # Arrays.deepToString # Arrays.toString
·
프로그래밍/알고리즘(자바)
행렬의 곱셈 Level 2 행렬의 곱셈을 유심히 분석해 본 결과 for문을 세번이나 사용해야 가능한다는 것을 알 수 있었다. for(int i = 0; i
정수 내림차순으로 배치하기 Level 2 #split #Arrays.sort #Collections.reverse #Arrays.asList #String.join
·
프로그래밍/알고리즘(자바)
정수 내림차순으로 배치하기 Level 2 #split String 타입 변수 -> String 타입 배열로 만들어 준다. #Arrays.sort 오름차순! #Collections.reverse 역 ( 내림차순! ) #Arrays.asList 배열을 list형으로 변환. Collections과 Arrays의 중간다리역할이다. #String.join split의 반대. 배열을 하나의 변수로 묶어준다. import java.util.Arrays; import java.util.Collections; public class ReverseInt { public int reverseInt(int n){ String[] arr = String.valueOf(n).split(""); // int 형을 String 타입..
2016년 Level 2 #달력(요일) 알고리즘
·
프로그래밍/알고리즘(자바)
2016년 Level 2 class TryHelloWorld { public String getDayName(int a, int b) { String answer = ""; String[] dayName = {"SUN","MON","TUE","WED","THU","FRI","SAT"}; int[] month = {31,29,31,30,31,30,31,31,30,31,30,31}; int day = 5; //1월 1일 : 금요일 for(int i = 1 ; i
콜라츠 추측 Level 2 #삼항연산자
·
프로그래밍/알고리즘(자바)
콜라츠 추측 Level 2https://programmers.co.kr/learn/challenge_codes/13class Collatz { public int collatz(int num) { int answer = 0; while(answer