728x90
반응형

Algorithm/나머지 문제들 13

[Baekjoon 2309 / python / 브론즈1] 일곱 난쟁이

hobit = [] # 난쟁이 리스트 for _ in range(9): # 9명 입력받음 hobit.append(int(input())) kee = sum(hobit) # 9명 난쟁이 키의 합을 구해둔다 def hobit7(hobit): for i in range(len(hobit)-1): # 난쟁이 2명을 선택하는 모든 경우의 수 인덱스를 구해서 반복한다 for j in range(len(hobit)): if j > i: if kee - (hobit[i] + hobit[j]) == 100: # 난쟁이 2명을 뺀 키가 100 이라면 정답 a = hobit[i] b = hobit[j] hobit.remove(a) # 난쟁이 삭제 hobit.remove(b) hobit.sort() # 정렬 for i in ..

[프로그래머스 / Python] 배열 회전시키기

def solution(numbers, direction) : if direction == 'right' : temp = numbers[-1] numbers[1:] = numbers[0:-1] numbers[0] = temp else : temp = numbers[0] numbers[0:-1] = numbers[1:] numbers[-1] = temp return numbers 정답 코드 'right'일 경우, 소실될 맨 마지막 요소[-1]를 temp 변수에 저장해둔 후 모든 요소를 오른쪽으로 밀어준다. 그리고 저장해둔 temp 값을 [0] 위치에 할당한다. 'left'는 right와 반대로 실시한다.

[프로그래머스 / Python] 주사위 게임 3

def solution(a, b, c, d) : origin = [a,b,c,d] so = list(set(origin)) if len(so) == 1 : # 4개 전부 같을 때 return origin[0] * 1111 elif len(so) == 2 : # 3개가 같거나, 2개/2개 같을 때 for i in origin : if origin.count(i) == 3 : p = i q = [x for x in origin if x != p][0] return (10 * p + q) ** 2 elif origin.count(i) == 2 : p = i q = [x for x in origin if x != p][0] return (p + q) * abs(p - q) elif len(so) == 3 : #..

[Baekjoon/JAVA] 백준 10813번 공 바꾸기

1번~N번의 바구니가 있고, 각 바구니엔 번호에 해당하는 공이 들어 있습니다. i, j번 바구니에 들어있는 공을 바꿉니다. 이것을 M번 반복한 후, 각 바구니에 몇번 공이 들어있는지 출력하는 문제입니다. import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st; st = new StringTokenizer(br.read..

[Baekjoon/JAVA] 백준 14659번 한조서열정리하고옴ㅋㅋ

n개의 봉우리(활잡이)가 존재합니다. 각 봉우리는 높이가 다르고, 높은 봉우리에 있는 활잡이가 낮은 봉우리를 처치할 수 있습니다. 공격은 오른쪽으로만 진행되고, 더 높은 봉우리를 만날 시 패배합니다. 이 때 가장 많은 적을 처치하는 봉우리는 몇명의 적을 처치할 수 있는지 출력해야 합니다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); Stri..

[Baekjoon/JAVA] 백준 10811번 바구니 뒤집기

1번부터 N번까지의 바구니가 존재합니다. i번~j번 까지의 바구니만을 역순으로 뒤집습니다. 이 작업을 M번 반복합니다. 그리고 마지막 바구니의 순서를 출력하는 문제입니다. import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st; st = new StringTokenizer(br.readLine()); int n = I..

[Baekjoon/JAVA] 백준 10810번 공 넣기

1번~N번의 바구니가 있다. 1번~N번의 공이 있다. 공 갯수는 제한이 없다. i번부터 j번까지의 바구니에, k번이 적힌 공을 넣는다. 이 과정은 총 M번 진행되며, 만약 바구니에 공이 이미 있을 경우 새로운 공으로 교체된다. 입니다. 결국 각 바구니에 마지막으로 남아있는 공이 몇번 공인지 출력해야 합니다. import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = ..

[Baekjoon/JAVA] 백준 10871번 X보다 작은 수

x보다 작은 수만 골라서 출력해야 하는 문제입니다. import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st; st = new StringTokenizer(br.readLine()," "); int n = Integer.parseInt(st.nextToken()); int x = Integer...

[Baekjoon/JAVA] 백준 15552번 빠른 A + B

이 문제는 단순히 A + B를 출력하면 되는 문제이지만, 시간 제한이 걸려 있어 Scanner를 사용하면 문제를 풀 수 없습니다. 따라서 비교적 처리속도가 빠른 BufferedReader, BufferedWriter를 이용해야 합니다. import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[]args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter..

728x90
반응형