알고리즘 초급 문제를 보면 거꾸로 출력하기 문제가 상당히 기본 문제로 출제된다. 문자열의 경우 StringBuilder의 reverse()를 통해 쉽게 문제를 풀이할 수 있지만 항상 문자열만 거꾸로 출력하라는 경우가 없을 수도 있고 배열 자체를 거꾸로 뒤짚어야할 경우도
저번에 풀었던 문제에서 뒤집기 알고리즘을 확인했었다.거꾸로 출력하기이 알고리즘을 활용하여 특정 문자만 뒤집는 문제를 풀어보자. 문제는 영어단어와 특수문자로 이루어진 문자열이 입력되었을 때 알파벳일 경우 현재 위치에서 반대 위치로 뒤집고 특수문자는 그대로 고정시킨다는 개
문자열을 입력 받아 중복되는 문자를 제거 후 출력한느 문제다. 중복이란 단어를 보자마자 set을 사용하여 문제를 풀었는데. set 뿐 아니라 문자열을 직접 탐색하여 문자를 풀이하는 방법도 알아보자직접 탐색하여 중복 제거위 코드와 같이 charAt()을 통해 문자를 가져
앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다.문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성하세요.단 회문을 검사할 때 대소문자를 구분하지 않습니다.이 외 방법으로는 c
문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다.만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다.추출하여 만들어지는 자연수는 100,000,000을
한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요.문자열을 입력 받았을 때 특정 문자를 기준으로 문자 사이의 거리를 구하는 문제였다. 처음 접근해본 문제라서 어떻게 풀어야할지 몰랐는데 강의를 보면
알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오.단 반복횟수가 1인 경우 생략합니다.2가지 풀이로 풀었는데while을 사용하는 방법직접 탐색
현수는 영희에게 알파벳 대문자로 구성된 비밀편지를 매일 컴퓨터를 이용해 보냅니다.비밀편지는 현수와 영희가 서로 약속한 암호로 구성되어 있습니다.만약 현수가 “1\. “2\. 바뀐 2진수를 10진수화 합니다. “1000001”을 10진수화 하면 65가 됩니다.아스키 번호
N개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작성하세요.(첫 번째 수는 무조건 출력한다)역시 알고리즘 문제는 여러 방법으로 풀어보는게 중요하다는 걸 느꼈다. 물론 아직도 쉬운 난이도지만 저번에 학습했던 배열에 마지막을 추가해주는 방법으로
선생님이 N명의 학생을 일렬로 세웠습니다. 일렬로 서 있는 학생의 키가 앞에서부터 순서대로 주어질 때, 맨 앞에 서 있는선생님이 볼 수 있는 학생의 수를 구하는 프로그램을 작성하세요. (앞에 서 있는 사람들보다 크면 보이고, 작거나 같으면 보이지 않습니다.)이전 문제와
1) 피보나키 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.2) 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다.보통 재귀로 많이 푸는데 강의 순서 상 배열로 풀어볼 수
자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요.만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입니다.지금까지 소수를 구하면서 수 많은 에라토스테네스 체를 구현하는 코드를 봐왔지
N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 소수를 출력하는 프로그램을 작성하세요.예를 들어 32를 뒤집으면 23이고, 23은 소수이다. 그러면 23을 출력한다. 단 910를 뒤집으면 19로 숫자화 해야 한다.첫 자리부터의 연속된 0은
OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다.여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로 하였다.1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을
N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요.같은 점수가 입력될 경우 높은 등수로 동일 처리한다.즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.배열을 완전 탐색하
5\*5 격자판에 아래롸 같이 숫자가 적혀있습니다.N\*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합니다.2차원 배열을 모두 탐색할 수 있는지 확인하는 문제처음에 문제를 풀었을 때 모든 검사를 하나씩 한다는 생각으로 풀었
지도 정보가 N\*N 격자판에 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다.각 격자판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역입니다. 봉우리 지역이 몇 개 있는 지 알아내는 프로그램을 작성하세요.격자의 가장자리는 0으로 초기화 되었다고 가정
김갑동 선생님은 올해 6학년 1반 담임을 맡게 되었다.김갑동 선생님은 우선 임시로 반장을 정하고 학생들이 서로 친숙해진 후에 정식으로 선거를 통해 반장을 선출하려고 한다.그는 자기반 학생 중에서 1학년부터 5학년까지 지내오면서 한번이라도 같은 반이었던 사람이 가장 많은
오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램을 작성하세요.두 배열을 합쳐서 정렬한다는 간단한 문제다. 알고리즘에 대한 공부를 하지 않는다면 solution3과 같이 모든 배열을 list에 담은 다음 그냥 sort 조건을 설정
A, B 두 개의 집합이 주어지면 두 집합의 공통 원소를 추출하여 오름차순으로 출력하는 프로그램을 작성하세요.문제에서 중요한 점은 입력되는 원소들이 정렬되어 있지 않은 배열이기 때문에 두 배열을 먼저 정렬해주어야 한다는 점이다. 배열을 정렬한 뒤 두 포인터를 반복문을
현수의 아빠는 제과점을 운영합니다. 현수 아빠는 현수에게 N일 동안의 매출기록을 주고 연속된 K일 동안의 최대 매출액이 얼마인지 구하라고 했습니다.만약 N=10이고 10일 간의 매출기록이 아래와 같습니다. 이때 K=3이면12 1511 20 2510 20 19 13 15
N개의 수로 이루어진 수열이 주어집니다.이 수열에서 연속부분수열의 합이 특정숫자 M이 되는 경우가 몇 번 있는지 구하는 프로그램을 작성하세요.만약 N=8, M=6이고 수열이 다음과 같다면1 2 1 3 1 1 1 2합이 6이 되는 연속부분수열은 {2, 1, 3}, {1,
N입력으로 양의 정수 N이 입력되면 2개 이상의 연속된 자연수의 합으로 정수 N을 표현하는 방법의 가짓수를 출력하는 프로그램을 작성하세요.만약 N=15이면7+8=154+5+6=151+2+3+4+5=15와 같이 총 3가지의 경우가 존재한다.저번 문제와 비슷한 문제다. 저
학급 회장을 뽑는데 후보로 기호 A, B, C, D, E 후보가 등록을 했습니다.투표용지에는 반 학생들이 자기가 선택한 후보의 기호(알파벳)가 쓰여져 있으며 선생님은 그 기호를 발표하고 있습니다.선생님의 발표가 끝난 후 어떤 기호의 후보가 학급 회장이 되었는지 출력하는
Anagram이란 두 문자열이 알파벳의 나열 순서를 다르지만 그 구성이 일치하면 두 단어는 아나그램이라고 합니다.예를 들면 AbaAeCe 와 baeeACA 는 알파벳을 나열 순서는 다르지만 그 구성을 살펴보면 A(2), a(1), b(1), C(1), e(2)로알파벳과
현수의 아빠는 제과점을 운영합니다. 현수아빠는 현수에게 N일 동안의 매출기록을 주고 연속된 K일 동안의 매출액의 종류를각 구간별로 구하라고 했습니다.만약 N=7이고 7일 간의 매출기록이 아래와 같고, 이때 K=4이면20 12 20 10 23 17 10각 연속 4일간의
현수는 1부터 100사이의 자연수가 적힌 N장의 카드를 가지고 있습니다. 같은 숫자의 카드가 여러장 있을 수 있습니다.현수는 이 중 3장을 뽑아 각 카드에 적힌 수를 합한 값을 기록하려고 합니다. 3장을 뽑을 수 있는 모든 경우를 기록합니다.기록한 값 중 K번째로 큰
괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다.(())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다.stack의 대표 문제 쉬웠음.하지만 꼭 기억해야할 것으로 Stack이 비어있을 때 pop
입력된 문자열에서 소괄호 ( ) 사이에 존재하는 모든 문자를 제거하고 남은 문자만 출력하는 프로그램을 작성하세요.solution은 내가 풀이한 방법인데 문제 그대로 답만 구하기 위한 풀이였다. 강의를 듣고 solution2의 코드를 살펴보면서 solution과 비교해보
후위연산식이 주어지면 연산한 결과를 출력하는 프로그램을 작성하세요.만약 3(5+2)-9 을 후위연산식으로 표현하면 352+9- 로 표현되며 그 결과는 12입니다.stack을 활용하여 후위식 연산을 하는 방법이다. 내가 코드를 짜면서도 겹치는 부분이 많아서 리팩토링 해야
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고,레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다.• 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다.
정보 왕국의 이웃 나라 외동딸 공주가 숲속의 괴물에게 잡혀갔습니다.정보 왕국에는 왕자가 N명이 있는데 서로 공주를 구하러 가겠다고 합니다.정보왕국의 왕은 다음과 같은 방법으로 공주를 구하러 갈 왕자를 결정하기로 했습니다.왕은 왕자들을 나이 순으로 1번부터 N번까지 차례
현수는 1년 과정의 수업계획을 짜야 합니다.수업중에는 필수과목이 있습니다. 이 필수과목은 반드시 이수해야 하며, 그 순서도 정해져 있습니다.만약 총 과목이 A, B, C, D, E, F, G가 있고, 여기서 필수과목이 CBA로 주어지면 필수과목은 C, B, A과목이며
메디컬 병원 응급실에는 의사가 한 명밖에 없습니다.응급실은 환자가 도착한 순서대로 진료를 합니다. 하지만 위험도가 높은 환자는 빨리 응급조치를 의사가 해야 합니다.이런 문제를 보완하기 위해 응급실은 다음과 같은 방법으로 환자의 진료순서를 정합니다.• 환자가 접수한 순서
N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요.정렬하는 방법은 선택정렬입니다.선택정렬을 구현한 코드이다. 2중 for문을로 구현해도 상관 없으나 내가 선택 정렬을 공부할때 위와 같은 방법으로 구현된 코드는 내 머릿속에서 작동하질 않더라...
N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요.정렬하는 방법은 버블정렬입니다.버블 정렬은 선택 정렬과 다르게 안정된 정렬이다. 그리고 값이 오름차순의 경우 가장 큰 수가 배열의 오른쪽 가장 끝으로 차례대로 정렬되는 정렬이다!버블 정렬의 개념
N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요.정렬하는 방법은 삽입정렬입니다.삽입 정렬은 정렬될 값이 자신의 자리를 찾아가는 정렬인데. 그렇기 때문에 다른 정렬과는 다르게 swap 대신 temp를 사용한다. 그리고 temp보다 arrj의 값
설명 캐시메모리는 CPU와 주기억장치(DRAM) 사이의 고속의 임시 메모리로서 CPU가 처리할 작업을 저장해 놓았다가 필요할 바로 사용해서 처리속도를 높이는 장치이다. 워낙 비싸고 용량이 작아 효율적으로 사용해야 한다. 철수의 컴퓨터는 캐시메모리 사용 규칙이 LR
현수네 반에는 N명의 학생들이 있습니다.선생님은 반 학생들에게 1부터 10,000,000까지의 자연수 중에서 각자가 좋아하는 숫자 하나 적어 내라고 했습니다.만약 N명의 학생들이 적어낸 숫자 중 중복된 숫자가 존재하면 D(duplication)를 출력하고,N명이 모두
새 학기가 시작되었습니다. 철수는 새 짝꿍을 만나 너무 신이 났습니다.철수네 반에는 N명의 학생들이 있습니다.선생님은 반 학생들에게 반 번호를 정해 주기 위해 운동장에 반 학생들을 키가 가장 작은 학생부터 일렬로 키순으로 세웠습니다.제일 앞에 가장 작은 학생부터 반 번
N개의 평면상의 좌표(x, y)가 주어지면 모든 좌표를 오름차순으로 정렬하는 프로그램을 작성하세요.정렬기준은 먼저 x값의 의해서 정렬하고, x값이 같을 경우 y값에 의해 정렬합니다.Compare를 통해서 좌표를 정렬하는 방법이다. 여기선 메서드별로 볼것이 아니라 cla
설명 S문자열에서 T문자열과 아나그램이 되는 S의 부분문자열의 개수를 구하는 프로그램을 작성하세요. 아나그램 판별시 대소문자가 구분됩니다. 부분문자열은 연속된 문자열이어야 합니다. 코드 이전에 학습했던 아나그램을 문자열에서 모두 찾아내는 코드이다. 시간 복잡도를
임의의 N개의 숫자가 입력으로 주어집니다. N개의 수를 오름차순으로 정렬한 다음 N개의 수 중 한 개의 수인 M이 주어지면이분검색으로 M이 정렬된 상태에서 몇 번째에 있는지 구하는 프로그램을 작성하세요. 단 중복값은 존재하지 않습니다.이분 검색 알고리즘인데 자세한건 검
지니레코드에서는 불세출의 가수 조영필의 라이브 동영상을 DVD로 만들어 판매하려 한다.DVD에는 총 N개의 곡이 들어가는데, DVD에 녹화할 때에는 라이브에서의 순서가 그대로 유지되어야 한다.순서가 바뀌는 것을 우리의 가수 조영필씨가 매우 싫어한다. 즉, 1번 노래와
N개의 마구간이 수직선상에 있습니다. 각 마구간은 x1, x2, x3, ......, xN의 좌표를 가지며, 마구간간에 좌표가 중복되는 일은 없습니다.현수는 C마리의 말을 가지고 있는데, 이 말들은 서로 가까이 있는 것을 좋아하지 않습니다. 각 마구간에는 한 마리의 말
3을 입력하여 재귀 함수를 통해 3,2,1을 출력하세요.코드는 엄청 간단하다. DFS 메서드를 통해 n 값을 받고 DFS 내부에 자신을 다시 호출하여(=재귀) n값이 0일때까지 반복하여 실행되는 함수를 선언한 것이다. 이 동작을 이해하기 위해서는 Stack Frame이
재귀 함수를 사용하여 이진수를 출력하는 프로그램 작성저번에 학습한 Stack Frame의 개념을 이해한다면 쉽게 풀이할 수 있었다.재귀 함수 Stack Frame
피보나치 수열을 재귀로 푸십시오.학교에서 재귀 함수를 배우기 전에 한번은 거쳐가는 피보나치 수열을 다시 풀어보았다. 물론 재귀로 피보나치를 풀어내는 방법보다 반복문을 사용하여 풀이하는게 효율성이 훨씬 좋다. 그 이유는 재귀적 피보나치는 스택에 프레임을 엄청 많이 사용하
이진 트리의 전위, 중위, 후위 순회를 직접 구현하세요.전위1 2 4 5 3 6 7중위4 2 5 1 6 3 7후위4 5 2 6 7 3 1main 에서 만든 Node의 구조Java의 class의 구조와 전위 중위 후위의 코드에서 Stack Frame의 개념을 알고 있다면
DFS를 사용하여 입력 받은 n 값에 대한 부분 집합을 출력하는 알고리즘 작성DFS를 사용한 트리 구조를 이해하기 위한 문제이다. 위의 코드의 예제를 통해 코드 실행의 구조를 하나씩 이해해보자! 무조건 이해해야한다 ㅜㅜ 어려우면 또 풀어보고 또 풀어보자!ss.DFS(1
이진트리를 레벨단위로 탐색하여 출력하세요.지금까지 DFS(Depth First Search)를 연습했었다면 이번에는 BFS(Breadth Fisrt Search)를 연습하고자 한다. DFS는 실행시 가장 말단의 노드를 찍고 올라오면서 탐색하거나 가장 말단의 노드까지 탐
현수는 송아지를 잃어버렸다. 다행히 송아지에는 위치추적기가 달려 있다.현수의 위치와 송아지의 위치가 수직선상의 좌표 점으로 주어지면 현수는 현재 위치에서 송아지의 위치까지 다음과 같은 방법으로 이동한다.송아지는 움직이지 않고 제자리에 있다.현수는 스카이 콩콩을 타고 가
말단 노드까지 가장 짧은 경로를 구하세요.가장 짧은 경로를 구하는건 BFS가 최선이지만 DFS로도 구하는 방법을 알아봤다. 하지만 이 문제에서 노드는 무조건 위 코드와 같이 말단의 노드는 자식 노드를 단 1개라도 가져서는 안된다는 조건이 있다.이 코드에서 가장 잘 이해
말단 노드까지 가장 짧은 경로 구하기전 문제에서 DFS로 구했다면 이번엔 BFS로 구하는 방식이다. BFS는 항상 Queue 자료구조를 이용하여 탐색하는 것을 습관화 해야겠다. 이 구조를 BFS 문제를 풀때 바로 떠올리면 문제를 금방 해결할 수 있을텐데... 아직 이
지금까지 강의를 들으면서 나온 알고리즘 개념에 대해 정리하려고 한다.소수 판별 (에라토스테네스 체)에라토스테네스 체는 소수를 판별할때 가장 시간 복잡도가 적게 풀수 있는 알고리즘인데 1은 소수가 아니므로 2부터 input까지 입력된 수가 소수인지 판별하는 알고리즘이다.
그래프란 G(V,E)로 G는 Grahp, V는 Vertex(꼭지점), E는 Edge(가장자리)로 표현하며 그래프는 Vertex와 Edge로 이루어진 집합이라 의미이다. 무방향 그래프(=양방향 그래프) 방향 그래프
5개의 정점을 가지는 방향 그래프의 모든 경로의 가지 수를 출력하는 프로그램을 작성하는 문제가 있다. 이때 입력되는 예시는5 91 21 31 42 12 32 53 44 24 5입력받은 값을 그래프로 표현하면 위 그림과 같다.총 가지수는1 2 3 4 51 2 51 3 4
5개의 정점을 가지는 방향 그래프의 모든 경로의 가지 수를 출력하는 프로그램을 작성하는 문제가 있다. 이때 입력되는 예시는5 91 21 31 42 12 32 53 44 24 5입력받은 값을 그래프로 표현하면 위 그림과 같다.총 가지수는1 2 3 4 51 2 51 3 4
그래프 1번 정점에서 각 정점으로 가는 최소 이동수를 구하세요.위 그래프를 1번 정점을 기준으로 이진 트리 구조로 변경하여 표현해보았다.1번 정점에서 각 노드에 도달할 수 있는 단계를 표시한 것인데 이 단계가 즉 1번 정점에서 각 정점으로 도달할 수 있는 최소 거리가
N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요.둘로 나뉘는 두 부분집합은 서로소 집합이며, 두
철수는 그의 바둑이들을 데리고 시장에 가려고 한다. 그런데 그의 트럭은 C킬로그램 넘게 태울수가 없다.철수는 C를 넘지 않으면서 그의 바둑이들을 가장 무겁게 태우고 싶다.N마리의 바둑이와 각 바둑이의 무게 W가 주어지면, 철수가 트럭에 태울 수 있는 가장 무거운 무게를
이번 정보올림피아드대회에서 좋은 성적을 내기 위하여 현수는 선생님이 주신 N개의 문제를 풀려고 합니다.각 문제는 그것을 풀었을 때 얻는 점수와 푸는데 걸리는 시간이 주어지게 됩니다.제한시간 M안에 N개의 문제 중 최대점수를 얻을 수 있도록 해야 합니다.(해당문제는 해당
문제 설명n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 1, 1, 1, 1, 1로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.\-1+1+1+1+1 = 3\+1-1+1+1+1 = 3\+1+1-1+1+
1부터 N까지 번호가 적힌 구슬이 있습니다. 이 중 중복을 허락하여 M번을 뽑아 일렬로 나열하는 방법을 모두 출력하세요.ex) 3 2를 입력할 시 N=3, M=2지금까지 공부했던 dfs는 이진트리 형식으로 문제를 풀어낼 수 있었다. 하지만 현재 문제는 2가지 방향으로
다음과 같이 여러 단위의 동전들이 주어져 있을때 거스름돈을 가장 적은 수의 동전으로 교환해주려면 어떻게 주면 되는가?각 단위의 동전은 무한정 쓸 수 있다.제한사항첫 번째 줄에는 동전의 종류개수 N(1<=N<=12)이 주어진다. 두 번째 줄에는 N개의 동전의
지정된 수의 수열을 출력하세요.dfs 알고리즘을 사용하여 순열을 구하는 문제이다. 저번 문제랑 다른점은 중복을 허용하지 않는다는 것인데. 그래서 ch\[] 배열을 추가하여 체크가 된 수들은 출력하지 않도록 작성하여 중복을 허용하지 않는 방법을 채택하였다. dfs 내의
조합수를 구하세요.5C2 = 1,2,3,4,5의 숫자중 2개의 숫자를 뽑아 조합할 수 있는 개수조합수의 공식nCr = (n-1)C(r-1) + (n-1)C(r)조합수라는 수학적 개념을 알고리즘으로 풀어내는 문제였다. dfs의 문제 방식을 익혔다고 생각했었는데. 지금까
문제를 보면 간단한 수학 계산 문제같다. 그래서 문제를 풀어내고 다른 사람들의 코드를 보니 간단한 수학 계산으로 깔끔하게 푸신 분들도 많더라... 나는 처음에는 문제를 보고 재귀로 풀까 하다가 가격을 넣었다가 한번에 뽑아내면서 계산하면 쉽게 풀수 있을거 같아서 stac
문제 바로가기문제를 설명하거나 사진으로 찍어 올리기에도 내용이 너무 방대하여 링크로 대신한다.문제를 보자마자 2차원 배열을 사용하여 문제를 풀어내야겠다 생각이 들었다. 여기서 가장 큰 문제는배열이 i의 순서가 아닌 j의 순서로 나열해야함배열에서 자기가 체크한 점수가 가
7\*7 격자판 미로를 탈출하는 경로의 가지수를 출력하는 프로그램을 작성하세요.출발점은 격자의 (1, 1) 좌표이고, 탈출 도착점은 (7, 7)좌표이다. 격자판의 1은 벽이고, 0은 통로이다.격자판의 움직임은 상하좌우로만 움직인다. 미로가 다음과 같다면위의 지도에서 출
7\*7 격자판 미로를 탈출하는 최단경로의 길이를 출력하는 프로그램을 작성하세요.경로의 길이는 출발점에서 도착점까지 가는데 이동한 횟수를 의미한다.출발점은 격자의 (1, 1) 좌표이고, 탈출 도착점은 (7, 7)좌표이다. 격자판의 1은 벽이고, 0은 도로이다.격자판의
현수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다.토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다.창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면
N\*N의 섬나라 아일랜드의 지도가 격자판의 정보로 주어집니다.각 섬은 1로 표시되어 상하좌우와 대각선으로 연결되어 있으며, 0은 바다입니다.섬나라 아일랜드에 몇 개의 섬이 있는지 구하는 프로그램을 작성하세요.Image1.jpg만약 위와 같다면 섬의 개수는 5개입니다.
현수는 씨름 감독입니다. 현수는 씨름 선수를 선발공고를 냈고, N명의 지원자가 지원을 했습니다.현수는 각 지원자의 키와 몸무게 정보를 알고 있습니다.현수는 씨름 선수 선발 원칙을 다음과 같이 정했습니다.“A라는 지원자를 다른 모든 지원자와 일대일 비교해서 키와 몸무게
설명한 개의 회의실이 있는데 이를 사용하고자 하는 n개의 회의들에 대하여 회의실 사용표를 만들려고 한다.각 회의에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 최대수의 회의를 찾아라.단, 회의는 한번 시작하면 중간
현수는 다음 달에 결혼을 합니다.현수는 결혼식 피로연을 장소를 빌려 3일간 쉬지 않고 하려고 합니다.피로연에 참석하는 친구들 N명의 참석하는 시간정보를 현수는 친구들에게 미리 요구했습니다.각 친구들은 자신이 몇 시에 도착해서 몇 시에 떠날 것인지 현수에게 알려주었습니다
현수는 유명한 강연자이다. N개이 기업에서 강연 요청을 해왔다. 각 기업은 D일 안에 와서 강연을 해 주면 M만큼의 강연료를 주기로 했다.각 기업이 요청한 D와 M를 바탕으로 가장 많을 돈을 벌 수 있도록 강연 스케쥴을 짜야 한다.단 강연의 특성상 현수는 하루에 하나의
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.제한 조건s는 길이 1 이상인 문자열입니다.s는 알파벳과 공
철수는 계단을 오를 때 한 번에 한 계단 또는 두 계단씩 올라간다. 만약 총 4계단을 오른다면 그 방법의 수는1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2 로 5가지이다.그렇다면 총 N계단일 때 철수가 올라갈 수 있는 방법의 수는 몇 가지인가?동적 프로그