728x90
반응형

Algorithm 141

[Baekjoon 10872 / python / 브론즈3] 팩토리얼

def factorial(n): if n > 0: return n * (factorial(n - 1)) else: return 1 n = int(input()) print(factorial(n)) 팩토리얼은 n! 으로 표기하며, 1부터 n까지의 수를 곱하면 된다. 팩토리얼은 재귀함수로 표현할 수 있으며, 재귀함수는 자기 자신과 똑같은 함수를 호출하는 함수이다. 물론 팩토리얼의 구현은 재귀함수로 하지 않는 게 더 효율적이지만, 팩토리얼이 재귀함수를 호출할 때 사용되는 대표적인 예이기 때문에 재귀함수로 구현하였다.

Algorithm/Recursion 2024.03.22

[프로그래머스 / 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] 백준 10815번 숫자 카드

주어지는 숫자의 범위가 매우 크기 때문에, 일일이 비교하는 방법보다는 이분 탐색 알고리즘을 이용해야 합니다. 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; int n = Integer.parseInt(br.readLine()); int cards[] = new int[n]; st = new StringTok..

[Baekjoon/JAVA] 백준 1032번 명령 프롬프트

입력받은 문자열들의 각 문자를 모두 비교하여, 모두 같지 않다면 해당 문자를 ?로 바꾸는 문제입니다. 모두 같다면 문자를 그대로 출력합니다. 입력받는 문자열들의 길이는 동일합니다. 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(); int n = Integer.parseInt(br.readLine()); String arr[] = new Strin..

Algorithm/문자열 2023.06.30

[Baekjoon/JAVA] 백준 10988번 팰린드롬인지 확인하기

입력받은 문자열이 팰린드롬인지 확인하는 문제입니다. 앞에서 읽을때와 뒤에서 읽을때의 결과가 같으면 팰린드롬입니다. 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(); String str = br.readLine(); int start = 0; int end = str.length()-1; int result = 1; while(start < end..

Algorithm/문자열 2023.06.30

[Baekjoon/JAVA] 백준 9086번 문자열

정해진 횟수만큼 문자열을 입력받고, 문자열의 맨 앞과 맨 뒤에있는 문자열을 출력해야 합니다. 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(); int n = Integer.parseInt(br.readLine()); for(int i=0; i "A" str.charAt(3) -> "D" 이런 결과가 나오게 됩니다. 이렇게 charAt()함수를 이..

Algorithm/문자열 2023.06.30
728x90
반응형