본문 바로가기

전체 글

(4)
[백준] 11729 하노이 탑 이동 순서 🌐 문제 링크 11729번: 하노이 탑 이동 순서 www.acmicpc.net 📃 문제 설명 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5개인 경우의 예시이다. 📢 입출력 예 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤ N ≤ 20)이 주어진다. ex) 3 출력 첫째 줄에 옮긴 횟..
[CS] 재귀함수 🗒️ **오늘의 CS 질문** - 재귀 함수(재귀적 호출)에 대해 설명해주시고, 장단점을 이야기해주세요.재귀함수란? 재귀(recursion)은 어떠한 것을 정의할 때 자기 자신을 참조하는 것. 즉, 하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 방식이다. 😀 장점 코드가 간결하다. 변수 사용을 줄여준다. 함수를 최대한 단순하게, 불변적으로 유지할 수 있다. 😯 단점 시간복잡도가 반복문에 비해 계산이 어렵다. 메모리 사용량이 많고 수행 시간이 더 길어질 수 있다. 함수 호출을 많이 하기에 StackOverFlow 가능성이 있다. 이해하기 전까진 너무나도 어렵다. 마무리 익숙해지면 매우 유용하지만 익숙해지기가 어려운 재귀함수. 사용 시엔 입력값이 종료 조건으로 수렴하는지를 꼭 검증해야 한다!
[프로그래머스] 숫자 문자열과 영단어 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 시간 : 30분 사용 언어 : Java replace함수를 공부할 수 있는 시간이었다. import java.util.*; class Solution { public int solution(String s) { int answer = 0; String[] en = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; for(int i = 0; i< 10; i++){ s = s.replace(en[i], Integ..
[백준] 11659 구간 합 구하기 11659번: 구간 합 구하기 4 www.acmicpc.net 풀이 시간 : 40분 사용 언어 : Java 제한 사항 고려하지 않고 그대로 입력받아 풀었더니..시간초과.. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N, M, start, end, sum; static int[] arr; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in));..