본문 바로가기

algorithm13

[알고리즘] 프로그래머스(Level1) - 최대공약수와 최소공배수(Java) / 최대공약수와 최소공배수 알고리즘(유클리드 호제법) https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 최대공약수 최대공약수를 구하는 방법 중 가장 쉬운 공식에는 유클리드 호제법이 있다. 유클리드 호제법이 무엇인지 알기에 앞서 왜 쓰는 지에 대해서 알아보자. 2개의 자연수를 받아 최대공약수를 구하기 위해 1부터 두 자연 수 중 작은 자연수까지 모두 나누어 보면 최대공약수를 구할 수 있다. 하지만 이 방법의 시간복잡도는 O(N)이다... 2022. 6. 11.
[알고리즘] 프로그래머스(Level 1) - 직사각형 별찍기(Java) https://programmers.co.kr/learn/courses/30/lessons/12969 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수 programmers.co.kr 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 풀이 import java.util.Scanner; class Solution { public static v.. 2022. 6. 5.
[알고리즘] 접미사 배열 백준 11656 (Python) 코드 import sys str = sys.stdin.readline().rstrip() arr = [] for i in range(len(str)): arr.append(str) str = str[1:] arr.sort() for i in arr: print(i) 입출력 2022. 1. 17.
[알고리즘] 네 수 백준 10824 (Python) 코드 import sys a, b, c, d = input().split() num1 = "" num2 = "" num1 += a+b num2 += c+d print(int(num1) + int(num2)) 입출력 2022. 1. 17.
[알고리즘] 단어 길이 재기 백준 2743 (Python) 코드 import sys str = sys.stdin.readline().rstrip("\n") print(len(str)) 엔터 입력을 무시해줘야 정확한 단어 길이가 나온다. rstrip("\n")가 없는 경우 아래 단어의 출력 값이 9로 나온다. 입출력 2022. 1. 17.
[알고리즘] 문자열 분석 백준 10820 (Python) ASCII CODE 값 'A' ~ 'Z' : 65 ~ 90 'a' ~ 'z' : 97 ~ 122 0 ~ 9 : 48 ~ 57 코드 import sys while True: str = sys.stdin.readline().rstrip("\n") if not str : break alphabet =[0] * 4 for i in str: if ord(i) > 96 and ord(i) 64 and ord(i) 47 and ord(i) < 58 : alphabet[2] += 1 elif i == " " : alphabet[3] += 1 print(*alphabet) str = .. 2022. 1. 17.