memostack
article thumbnail
CodeUp 1002번 - 출력하기02 (Java 풀이)
Algorithm/CodeUp 2020. 10. 11. 12:06

문제 이번에는 공백()을 포함한 문장을 출력한다. 다음 문장을 출력해보자. Hello World (대소문자에 주의한다.) 참고 #include int main() { printf("문장1 문장2"); return 0; } 을 실행시키면 "문장1”, "문장2"가 공백()을 사이에 두고 출력된다. ** 주의 : 본 화면에서 복사하여 붙여넣기하면 제대로 되지 않을 수 있으니 직접 소스코드를 작성해 넣어야 한다. 입력 없음 출력 Hello World Java 풀기 콘솔에 'Hello World'를 출력하는 문제 public class Main { public static void main(String[] args) { System.out.println("Hello World"); } } 채점결과 위 풀이는 직접..

article thumbnail
CodeUp 1001번 - 출력하기01 (Java 풀이)
Algorithm/CodeUp 2020. 10. 11. 11:59

문제 C/C++언어에서 가장 기본적인 명령이 출력문이다. printf()를 이용해 다음 단어를 출력하시오. Hello 참고 C/C++ IDE 프로그램을 설치한 후, 아래와 같은 소스 코드를 작성하고 "컴파일-실행"을 수행시키면, 지정한 "문장"이 출력된다. #include int main() { printf("문장"); return 0; } 입력 없음 출력 Hello Java 풀이 단순히 콘솔로 'Hello'를 출력하는 문제 public class Main { public static void main(String[] args) { System.out.println("Hello"); } } 채점결과 위 풀이는 직접 풀어보고 채점까지 한 뒤에 확인하여 올린 코드입니다. 궁금한점이나 더 좋은 방법이 있다면 ..

CodeUp Java로 기초 100제 풀어보기
Algorithm/CodeUp 2020. 10. 11. 11:52

문제의 저작권은 'CodeUp'에게 있습니다. 저작권 문제가 있는 경우, 바로 삭제하겠습니다. codeup.kr/index.php CodeUp ☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks DEV C++ ☆ 추천 온라인 IDE : C++11 Python3 Java ☆ 채점 가능 언어 : C, C++, JAVA, Python 3.5 ★ C++로 제출시 void main()을 사용하면 컴�� codeup.kr Java 기초 100제 2020/10/11 - [Algorithm/CodeUp] - CodeUp 1001번 - 출력하기01 (Java 풀이) 2020/10/11 - [Algorithm/CodeUp] - CodeUp 1002번 - 출력하기02 (Java 풀이) 2020..

article thumbnail
피보나치 수열 효율적으로 풀어보기 (Java 알고리즘)
Algorithm 2020. 8. 31. 20:37

피보나치 수열 피보나치 수열을 이전 항 2개를 더한값이 현재 항이 되는 수열이다. 예를들어, A(n) = A(n-1) + A(n-2) (단, A(1) = 1, A(2) = 1 이다) 를 만족하는 수열 2 3 5 8 13 21 34 55 89 144 233 ... 프로그래밍 피보나치 수열을 풀어보는 방법은 여러방법이 있다. 그 중 아래 3가지 방법으로 풀어본다. 배열로 풀어보는 방법 배열없이 풀어보는 방법 재귀함수를 이용하는 방법 1. 배열로 풀어보는 방법 STEP 1. int 배열을 선언한다. STEP 2. A(1) = 1, A(2) = 1을 미리 초기화한다. STEP 3. 반복문을 이용하여 A(n) = A(n-1) + A(n-2)를 이용하여 계속해서 더한다. public static void main(..

article thumbnail
프로그래머스 - 2016년 (Java)
Algorithm 2020. 8. 30. 01:05

문제의 저작권은 프로그래머스(https://www.acmicpc.net/)에게 있습니다. 문제 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 예제 a|b|result 5|24|TUE Coding - Java if문을 사용하여 1월, 2월..

article thumbnail
프로그래머스 - 가운데 글자 가져오기 (Java)
Algorithm 2020. 8. 29. 17:36

문제의 저작권은 프로그래머스(https://www.acmicpc.net/)에게 있습니다. 문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 예제 // Input abcde // Output c // Input qwer // Output we Coding - Java substring()을 이용하여, 가운데에 위치한 문자를 가져온다. public static String solution(String s) { String answer = ""; final int length = s.length(); if (0 == length % 2) { // 짝수 final in..

article thumbnail
백준 1330번 - 두 수 비교하기 (Java)
Algorithm/Beakjoon 2020. 8. 28. 19:32

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 예제 // Input 1 2 // Output // Input 5 5 // Output == Coding - Java 단순히 if문을 이용하여 두 수를 비교하여 알맞은 부등호를 출력하면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void..

article thumbnail
백준 1000번 - A + B (Java)
Algorithm/Beakjoon 2020. 8. 28. 19:20

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 예제 // Input 1 2 // Output 3 Coding - Java 콘솔로 입력을 받을때는 Scanner 또는 BufferedReader, System.in.read()가 있다. 본 글에서는 BufferedReader 와 System.in.read()를 이용하여 문제를 풀었다. 방법 1. BufferedReader 이용 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[]..

article thumbnail
백준 Ex.10171번 - 고양이 (JAVA)
Algorithm/Beakjoon 2020. 8. 26. 18:08

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 아래 예제와 같이 고양이를 출력하시오. 예제 // Input 없음 // Output \ /\ ) ( ') ( / ) \(__)| Coding - Java 쉬운 문제 같지만, 성급하게 풀면 이스케이프 문자를 신경쓰지 못하고 틀릴 확률이 높다. (정답률도 36.614%...) 백슬래쉬(\)를 주의해서 입력해야 함. public class Main { public static void main(String[] args) { System.out.println("\\ /\\\n" + " ) ( ')\n" + "( / )\n" + " \\(__)|"); } } 채점 결과 Reference https://www.acmic..

article thumbnail
백준 Ex.10718번 - We love kriii (JAVA)
Algorithm/Beakjoon 2020. 8. 26. 17:54

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올 해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박령 kriii를 위해서 격려의 문구를 출력해주자. 예제 // Input 없음 // Output 강한친구 대한육군 강한친구 대한육군 Coding - Java 간단한 문제이고, 방법 2가지로 풀어볼 수 있다. 방법 1. System.out.println()를 2번 호출 방법 2. 개행문자(\n)를 이용 방법 3. 람다식을 이용한 방법 (비추천, 비효율적이기 때문에) // 방법 ..

article thumbnail
백준 Ex.2557번 - Hello World (JAVA)
Algorithm/Beakjoon 2020. 8. 26. 17:48

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 Hello World!를 출력하시오. 예제 // Input // Output Hello World! Coding - Java 프로그래밍을 처음 배우면 가장 먼저 만들어보는 프로그램으로, 단순히 표준 출력을 이용하여 Hello World!를 찍어주면 된다. public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } } 채점 결과 Reference https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acm..

article thumbnail
백준 10996번 - 별 찍기 - 21 (Python3)
Algorithm/Beakjoon 2020. 6. 29. 20:55

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 예제 # 입력 1 # 출력 * # 입력 2 # 출력 * * * * # 입력 3 # 출력 * * * * * * * * * Coding - Python3 규칙 찾기 n이 1일때는 별(*) 하나를 반환하다. 나머지 경우 (n이 2이상인 경우) 2*n 줄 만큼 별이 그려진다. 한 열의 길이는 n이다. 별(*)과 띄어쓰기( )가 번갈아가며 나온다. 홀수번째 줄은 별(*)부터 시작한다. 짝수번째 줄은 띄어쓰기( )부터 시작한다. # -*- coding: utf-8 -*- import sys def solution(k): if 1 == k: print("*") return r..

article thumbnail
백준 2446번 - 별 찍기 - 9 (with Python3)
Algorithm/Beakjoon 2020. 6. 23. 21:59

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 예제 # 입력 5 # 출력 ********* ******* ***** *** * *** ***** ******* ********* Coding - Python3 상단, 하단을 나눠서 별을 찍는다. 규칙을 파악한다. 상단: 2 * n - 1 (n이 점차 감소) 만약 n = 5 라면, 9, 7, 5, 3, 1 하단: 2 * n - 1 (n이 점차 증가) 만약 n = 5 라면, 1, 3, 5, 7, 9 # -*- coding: utf-8 -*- import sys def solution(num): # 상단 별 for i in range(num, 0, -1): print..

article thumbnail
백준 2523번 - 별 찍기 - 13 (with Python3)
Algorithm/Beakjoon 2020. 6. 22. 21:05

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 예제 # 입력 3 # 출력 * ** *** ** * Coding - Python3 for 문 2개를 이용해서 '상단 별'과 '하단 별'을 그린다. # -*- coding: utf-8 -*- import sys def solution(num): # 상단 별 for _ in range(num): print("*" * (_ + 1)) # 하단 별 for _ in range(num - 1, 0, -1): print("*" * _) if __name__ == "__main__": num = int(sys.stdin.readline()) solution(num) 비슷한 문제..

article thumbnail
백준 5543번 - 상근날드 (with Python3)
Algorithm/Beakjoon 2020. 6. 22. 20:42

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 상근날드에서 가장 잘 팔리는 메뉴는 세트 메뉴이다. 주문할 때, 자신이 원하는 햄버거와 음료를 하나씩 골라, 세트로 구매하면, 가격의 합계에서 50원을 뺀 가격이 세트 메뉴의 가격이 된다. 햄버거는 총 3종류 상덕버거, 중덕버거, 하덕버거가 있고, 음료는 콜라와 사이다 두 종류가 있다. 햄버거와 음료의 가격이 주어졌을 때, 가장 싼 세트 메뉴의 가격을 출력하는 프로그램을 작성하시오. 예제 # 입력 800 700 900 198 330 # 출력 848 # 입력 1999 1999 100 189 100 # 출력 150 Coding - Python3 버거 종류(첫번째, 두번째, 세번째 줄)에서 가장 작은 값을 고른다. 음료..

article thumbnail
백준 14681번 - 사분면 고르기 (with Python3)
Algorithm/Beakjoon 2020. 6. 22. 20:33

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. 예제 # 입력 12 5 # 출력 1 # 입력 9 -13 # 출력 4 Coding - Python3 if문을 이용하여 x와 y..

article thumbnail
시간 복잡도 (빅오, 빅오메가, 빅세타)
Algorithm 2020. 6. 3. 22:52

시간 복잡도란? 시간 복잡도는 특정 알고리즘이 얼마나 빠르게 수행이되는지 표현하기 위해 사용된다. 즉, 시간복잡도는 쉽게 말해서 알고리즘의 실행 시간을 말한다. 시간 복잡도의 종류 빅오 (big-O) 표기법 시간의 상한 (최악의 경우) 해당 알고리즘은 big-O 보다 더 오래 걸릴 수 없다. 빅오메가 (big-Omega) 표기법 시간의 하한 (최선의 경우) 해당 알고리즘은 big-Omega 보다 더 빠를 수 없다. 빅세타 (big-theta) 표기법 평균적인 경우, 딱 맞는 수행 시간 big-O 와 big-Omega 를 하나로 합쳐 표현한것과 같다. 예를들어, 수행시간이 빅오가 N, 빅오메가가 N 이라면, 빅세타도 N 이다. (아래 그림 참조) 가장 많이 쓰이는 표기법 보통은 빅오와 빅세타를 많이 사용하..

article thumbnail
KAKAO 2020 공채 코딩 테스트 - 문자열 압축 (with Python3)
Algorithm 2020. 4. 4. 16:54

본 문제는 KAKAO 2020 블라인드 코딩 테스트 문제 중에 `문자열 압축` 문제이다. 문제 문제를 보려면 아래 `더보기`를 누르면 된다. 더보기 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 aabbaccc의 경우 2a2ba3c(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, abcab..

article thumbnail
백준 15650번 - N과 M(2) - 순열 (with Python3)
Algorithm/Beakjoon 2020. 4. 3. 14:41

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 예제 # 입력 4 2 # 출력 1 2 1 3 1 4 2 3 2 4 3 4 # 입력 4 4 # 출력 1 2 3 4 Coding - Python3 기본 순열 문제에서 코드 몇개만 수정하면 된다. 참고. 기본 순열 문제 2020/04/03 - [Algorithm/Beakjoon] - 백준 Ex.15649번 - N과 M(1) 순열 문제 (with Python3) 백준 Ex.15649번 - N과 M(1) 순열 문제 (with ..

article thumbnail
백준 15649번 - N과 M(1) 순열 문제 (with Python3)
Algorithm/Beakjoon 2020. 4. 3. 14:31

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 예제 # 입력 3 1 # 출력 1 2 3 # 입력 4 2 # 출력 1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4 4 1 4 2 4 3 Coding - Python3 대표적인 순열 문제로 푸는 방식만 익히면 쉽게 문제를 풀 수 있다. for 문을 이용하는 방식과 재귀함수를 이용하는 방식이 있는데, 재귀 함수로 푸는것이 이해하기 쉽다. 아래 코드는 stack 과 재귀 함수를 이용하여 문제를 풀었다. # -*- coding: utf-8 -..