[python] 백준 설탕 배달(2839)
·
알고리즘/Java
알고리즘 python 백준 설탕 배달(2839) 1. 문제 https://www.acmicpc.net/problem/2839 2. 풀이 while문 속에 조건을 두어 n이 5의 배수가 될때까지 설탕을 3씩 빼주고, 봉지를 1씩 더해준다 n이 5의 배수가 되어 if 문을 통과하면 설탕봉지의 개수가 나오고 5의 배수나 0이 되지 않고 음수가 되면 else를 통해 -1일 출력된다 n = int(input()) bag = 0 while n >= 0: # 5의 배수이면 바로 나눠서 설탕봉지 구하기 if n % 5 == 0: bag += (n // 5) print(bag) break # 5의 배수가 아니면 5의 배수가 될 때까지 설탕 -3 n -= 3 # 5의 배수가 될때까지 설탕봉지 +1 bag += 1 else..
[python] 달팽이는 올라가고 싶다(2869)
·
알고리즘/Java
알고리즘 python 달팽이는 올라가고 싶다(2869) 1. 문제 https://www.acmicpc.net/problem/2869 2. 풀이 값을 구하기 위해 올림을 해야하는데 올림을 할 때 math 모듈을 사용해야해서 미리 math를 import를 해준다 a-b를 통해 하루 올라간 거리 계산 v-b를 통해 마지막 날 낮에 도착했을 때 마지막날 밤에 내려오는 거리를 빼준다 전체 이동할 거리를 하루 이동한 거리로 나누어 주고 올림을 해준다. 1.2일도 결국은 2일이 걸린 것이기 때문 이 문제는 시간이 짧기 때문에 for문을 사용하면 시간복잡도에 의해 시간초과에 걸린다. import math # math모듈 사용을 위한 import a, b, v = map(int, input().split()) one_d..
[python] ACM호텔(10250)
·
알고리즘/Java
알고리즘 python ACM호텔(10250) 1. 문제 https://www.acmicpc.net/problem/10250 2. 풀이 층수와 호수를 구분하여 구한 뒤 더해준다. 인원수를 높이(층수)로 나눈 나머지가 0일 경우 층수는 높이에 100을 곱해주고 / 호수는 인원수를 층수로 나눈 정수값으로 한다. 인원수를 높이로 나눈 나머지가 0이 아닌 경우 층수는 인원수를 높이로 나눈 수에 100을 곱해주고 / 호수는 인원수를 높이로 나는 수의 정수값에 1을 더해준다 각각 나온 층수와 호수를 더해서 출력한다. t = int(input()) for i in range(t): H, W, N = map(int, input().split()) f = 0 # 층 ho = 0 # 호수 # 인원/층의 나머지가 0일 때 #..
[python] 백준 더하기 사이클(1110)
·
알고리즘/Java
알고리즘 python 백준 더하기 사이클(1110) 1. 문제 https://www.acmicpc.net/problem/1110 2. 풀이 26(예시)의 2와 6에서 일의 자리인 6과 2와 6의 합의 앞자리, 예시에서는 8(2자리 수인 경우 10의자리, 한자리 숫자는 1의자리 숫자)를 더하는 식을 26이 나올 때 까지 반복하는 문제 10의 자리와 1의 자리를 추출해 더해준 뒤 다시 10의 자리가 될 숫자에 10을 곱해 주고, 1의 자리 숫자가 될 숫자를 10으로 나눈 나머지로 추출해 더해준다 반복문이 돌 때마다 count를 올려주고 결과 값과 시작값이 같아지면 break n = int(input()) # 26 num = n cnt = 0 while True: num1 = num // 10 # 2 num2..
[JAVA] 프로그래머스 제일 작은 수 제거하기
·
알고리즘/Java
알고리즘 JAVA 프로그래머스 제일 작은 수 제거하기 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12935 2. 풀이 썩 효율적인 방법이라 생각이 들지 않지만 풀 수만 있다면.. class Solution { public int[] solution(int[] arr) { // 숫자가 1개인 배열은 -1 return if(arr.length == 1) { int[] answer = new int[] {-1}; return answer; } int[] answer = new int[arr.length-1]; int min = 0; // for (int i = 0; i arr[i]) min..
[JAVA] 프로그래머스 이상한 문자 만들기
·
알고리즘/Java
알고리즘 JAVA 프로그래머스 이상한 문자 만들기 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12930 2. 풀이 역시 어렵지 않은 문제였는데 coutn를 더해서 다음 순서로 넘기는게 개인적으로 머릿속에서 확떠오르지 않는다.. 이 중요한 점은 문자열의 인덱스 순서가 아니라 단어의 공백을 기준으로 짝/홀을 구분하여 대문자, 소문자로 바꾼다 for문 안쪽에서 sout를 찍어보면 주석과 같이 '1 2 3 0 1 2 3 4 5 0 1 2 3 4 5' 숫자가 순서대로 찍히고 이 순서대로 대소문자 변환 class Solution { public String solution(String s) { String answer = ""; String str[] = ..
유리코딩
'알고리즘/Java' 카테고리의 글 목록 (2 Page)