묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 왜 틀렸는지 모르겠습니다.
vector를 string으로 풀었다가 int로도 풀어보고 싶어 약간의 수정을 하여 제출하였는데 틀렸습니다. 다만 아무리 생각해도 반례가 떠오르지 않아 왜 틀렸는지 모르겠어서 여쭤봅니다. tc는 모두 통과했습니다.vector<int> 썼다가 틀린 코드 링크http://boj.kr/5d5a3056a5804d5daf25be09844dccfcvector<string> 써서 맞춘 코드http://boj.kr/82a463f3c16545f0990aeb8d2eadb2c7 + 고민해보던 중 각 줄의 최대 글자 수가 100자인데 정수(int. long long)로 할 경우 최대 100자의 값을 받을 수가 없어서 틀렸다고 생각이 들었습니다. 혹시 맞을까요?ㅎ-I2-I
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
bfs 문제 dfs 로 풀 수 있나요?
안녕하세요. 그래프 문제만 나오면 dfs로 풀려고 합니다.ㅜㅜ 둘 중에 어떤 것으로 풀어야 하는 지 구분하는 방법이 있나요? 그리고 2589문제에서 <dfs로 짜고 기저 사례로 부터 1을 반환 시켜서 더해 나가는 방식> 또는 <dfs에 거리 파라미터를 추가하고 함수 호출할 때마다 1씩 증가시켜서 기저 사례에서 vector에 넣는 방식> 으로 풀어도 될까요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
해당 강의에서 C언어로만 진행하는 강의 문의 건
안녕하십니까해당 강의에서 진행하는 강의 중에 C++이 아닌 C언어로만 하는 강의는 몇 번 몇 번인지 혹시 파악이 가능할까요?
-
미해결C++로 만들면서 배우는 게임 개발과 알고리즘 with Windows API
소리 크기 조정 문의
안녕하세요. 앞으로 강의가 많이 기대가 됩니다.다름이 아니라 강의 소리가 매우 작은데, 조만간 개선 계획이 있으시다면 꼭 반영 해 주셨으면 합니다.자막을 키지 않고는 수강이 어려울 정도입니다. 앞으로도 좋은 강의 잘 부탁드립니다.감사합니다.명절 잘 보내세요 ㅎㅎ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-J 질문있습니다 :)
안녕하세요 선생님 🙂 이 문제를 처음봤을 때 DP방식도 떠오르긴 했지만 1개씩만 사용하는 문제다보니 그리디 방식도 떠오르더라구요. 하지만 이 문제는 K라는 무게 제한이 있다보니 그리디가 조금 빡셀 수도 있겠다 싶더라구요. 질문은 아래와 같습니다. 그리디로 설계할 수 있는 문제인지설계할 수 있다면 간단하게 가능한지, 빡센 문제인지 즐거운 명절 보내세요 ^^
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
for문 초기값 설정 방식에 대한 시간 초과 질문 있습니다.
for문의 i값의 설정 방식만 다르게 했을 뿐인데 시간 초과가 나는 점이 이해가 가지 않아 질문 드립니다.A 코드 (시간 초과가 나지 않는 코드)int solution(int n) { int answer = 0; int t = 1; while(t <= n) { int test = 0; for(int i=t; i<=n; i++){ test += i; if(test == n) { answer++; break; } if(test > n){ break; } } t++; } return answer; }B 코드 (시간 초과가 발생하는 코드)int solution(int n) { int answer = 0; int t = 0; while(t <= n) { int test = 0; for(int i=t+1; i<=n; i++){ test += i; if(test == n) { answer++; break; } if(test > n){ break; } } t++; } return answer; }해당 코드들은 프로그래머스 숫자의 표현에 대한 코드 입니다.강의와 관련없는 문제에 대해 질문 드리는 점 정말 죄송합니다.하지만 아무리 원인을 파악하려해도 파악되지 않아 부득이하게 질문 드립니다.해당 코딩 테스트 문제는 프로그래머스 숫자의 표현(하단 링크) 입니다.https://school.programmers.co.kr/learn/courses/30/lessons/12924
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
해설 코드 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 큰돌님 강의 정말 잘 수강하고 있습니다.다름이 아니라 해당문제에서 아래 go함수가 기존의 완탐 유형인 방문처리 / go / 방문처리 해제와는 조금 다르게 max가 중간에 들어가게 되어 헷갈리는 부분이 있어서 질문드립니다. 제가 이해한바로는 각 단계에서 가능한 모든 말을 이동시키고, 각 말이 도착한 위치에서 얻을 수 있는 점수를 계산.그 중에서 최대 점수를 선택한 후, 다음 단계로 넘어가며 또다시 최대 점수를 선택하는 과정을 반복.이렇게 마지막 주사위까지 처리된 후, 각 단계에서의 최대 점수를 더한 값이 최종적으로 출력.되는 로직으로 이해하였는데, 혹시 제가 이해한대로 실행되는게 맞는지 궁금합니다.int go(int here){ if(here == n) return 0; int ret = 0; for(int i = 0; i < 4; i++){ int temp_idx = mal[i]; int mal_idx = move(temp_idx, a[here]); if(isMal(mal_idx, i)) continue; mal[i] = mal_idx; ret = max(ret, go(here + 1) + v[mal_idx]); mal[i] = temp_idx; } //cout << "RET : " << ret << "\n"; return ret; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-O 반례나 어디가 문제인지 알 수 있을까요?
#include <iostream> using namespace std; string s; int n, ans, skip; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> s; for (int i = 0; i < n; ++i) { int temp = 0; int flag = 1; for (int j = i; j < n; ++j) { char c = s[j]; if ((flag == 1 && c == ')') || (j == n - 1 && c == '(')) { break; } if (c == '(') flag <<= 1; else flag >>= 1; temp++; if (flag == 1) { ans = max(ans, temp); skip = (temp - 1); } } i += skip; skip = 0; } cout << ans << '\n'; }계속 1%에서 틀렸다고 나오네요..강의를 보고 다른 방법으로 풀었으나 처음 풀었던 방식에서 어디가 문제인지 알고 싶어 질문드립니다!커뮤니티, 백준 질문 게시판에 있는 반례들을 전부 통과했습니다..
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
lyra 프로젝트 빌드 후 실행시 문제발생
lyra 프로젝트를 다운 받고 빌드 후에 실행했는데, 아래와 같은 로그가 뜨면서 실행되지 않았습니다. 5.4.4가 깔려있는 상태에서 이전에 다른 프로젝트가 5.1이어서 이 문제일 수도 있겠다 싶어서 5.1을 지우고 다시 Generate Project를 했음에도 동일한 에러가 발생합니다. 실행환경은 12700h, 32gb Ram, 3050 laptop(4gb)입니다.다른 실행환경에서 실행이 정상적으로 되면 이 글을 업데이트하겠습니다. [2024.09.15-05.56.30:429][ 0]LogShaderCompilers: Warning: 1 Shader compiler errors compiling global shaders for platform PCD3D_SM6: C:/Users/mrs04/Documents/UE_5.4/Engine/Shaders/Private/Lumen/Radiosity/LumenRadiosity.usf(): Shader FLumenRadiosityDistanceFieldTracingCS, Permutation 7, VF None: Internal Error! Global/FLumenRadiosityDistanceFieldTracingCS/7:/Engine/Private/Lumen/Radiosity/LumenRadiosity.usf|LumenRadiosityDistanceFieldTracingCS Type 'FLumenRadiosityDistanceFieldTracingCS' '/Engine/Private/Lumen/Radiosity/LumenRadiosity.usf' Entry 'LumenRadiosityDistanceFieldTracingCS' Permutation 7 [2024.09.15-05.56.30:551][ 0]LogShaders: Error: C:/Users/mrs04/Documents/UE_5.4/Engine/Shaders/Private/Lumen/Radiosity/LumenRadiosity.usf(): Shader FLumenRadiosityDistanceFieldTracingCS, Permutation 7, VF None: Internal Error! Global/FLumenRadiosityDistanceFieldTracingCS/7:/Engine/Private/Lumen/Radiosity/LumenRadiosity.usf|LumenRadiosityDistanceFieldTracingCS Type 'FLumenRadiosityDistanceFieldTracingCS' '/Engine/Private/Lumen/Radiosity/LumenRadiosity.usf' Entry 'LumenRadiosityDistanceFieldTracingCS' Permutation 7 Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp] [Line: 10560] 플랫폼 PCD3D_SM6에 대한 글로벌 셰이더를 컴파일하는 동안 1개의 셰이더 컴파일러가 오류가 발생했습니다. Enable 'r.ShaderDevelopmentMode' in ConsoleVariables.ini for retries. A breakpoint instruction (__debugbreak() statement or a similar call) was executed in UnrealEditor.exe. A breakpoint instruction (__debugbreak() statement or a similar call) was executed in UnrealEditor.exe. [2024.09.15-05.56.40:549][ 0]LogWindows: Error: appError called: Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp] [Line: 10560] 플랫폼 PCD3D_SM6에 대한 글로벌 셰이더를 컴파일하는 동안 1개의 셰이더 컴파일러가 오류가 발생했습니다. Enable 'r.ShaderDevelopmentMode' in ConsoleVariables.ini for retries. [2024.09.15-05.56.40:549][ 0]LogWindows: Windows GetLastError: 작업을 완료했습니다. (0) [2024.09.15-05.56.40:550][ 0]LogWindows: Error: === Critical error: === [2024.09.15-05.56.40:551][ 0]LogWindows: Error: [2024.09.15-05.56.40:551][ 0]LogWindows: Error: Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp] [Line: 10560] [2024.09.15-05.56.40:551][ 0]LogWindows: Error: 플랫폼 PCD3D_SM6에 대한 글로벌 셰이더를 컴파일하는 동안 1개의 셰이더 컴파일러가 오류가 발생했습니다. Enable 'r.ShaderDevelopmentMode' in ConsoleVariables.ini for retries. [2024.09.15-05.56.40:552][ 0]LogWindows: Error: [2024.09.15-05.56.40:552][ 0]LogWindows: Error: [2024.09.15-05.56.40:552][ 0]LogWindows: Error:
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 질문드립니다.
안녕하세요 선생님. 먼저 해피추석 보내십쇼!!http://boj.kr/7fdb0fc2859a40888f5c0cd3583076ab 제가 궁금한 것은 두가지 입니다.위 방식대로 접근한것이 괜찮은지31번째 줄에서의 문제 31번째 줄에서 절대값을 이용했더니 답이 틀렸습니다.제출된 코드는 정답으로 나오는데 두 수의 차이에서 절대값을 넣었을 때 왜 틀리는지 모르겠습니다.// 틀림 auto it = find(start, numbers.end(), abs(numbers[i] - m)); // 맞음 auto it = find(start, numbers.end(), m - numbers[i]);
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
문제 접근 방법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이번 문제를 제가 처음 접했을 때 완탐으로 먼저 생각했습니다. 제가 생각했을 때 격자 마다 5가지 경우의 수가 있다고 생각해서 대략 5^100이라고 생각했습니다. 아무리 색종이가 각 5개라는 조건이 있다해도 5^100 자체가 너무 커서 줄어들어도 시간초과가 날거라고 생각해서 다음 알고리즘으로 dp, 그리디 여러 방법을 도전했는데 실패했습니다.. 그런데 완탐, 백트래킹으로 가능했었다라니 어느 부분에서 그렇게 판단하신건지 궁금하여 커뮤니티를 보았는데 다른 여러 분이 이미 질문을 많이 하셨고 큰돌님께서 답변을 달아주셨습니다. 그런데 그 답변에서 이해가 안되는게 있습니다. --큰돌님 답변얼핏보면 100개의 격자점에서 상태값은 총 5개이기 때문에 5^100이라고 생각할 수 있습니다.그러나 문제 조건을 보시면. 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다.색종의 갯수의 제한이 있습니다.자 그러면.이렇게 생각할 수 있습니다.100개의 격자점에서 25개의 상태값을 순서와 상관없이 놓는 경우의 수죠.100C25라고 생각이 듭니다.근데 이것또한 큰 수입니다.242,519,269,720,337,121,015,504 이죠. 그러나 꼭 이래야만 할까요?5x5 짜리 색종이 4개면 100개의 격자점은 모두 채워지게 됩니다. 그리고 이 경우의 수는 한개밖에 없죠.자 그러면...100개의 격자점을 대충 4x4로 감싼다고 했을 때 거의 다 채워지기 때문에 4개정도가 들어가기 때문에100C4이면 -> 격자점이 다 채워지는 구나 -> 100 C4는 3,921,225(400만) 수준이고 -> 물론 그 외의 격자점을 다른 색종이로 채워야 하겠지만.. -> 400만이면 충분하지 않을까?그리고...사실 이것보다는 더 작을 수 있겠다. 라고 생각하고 들어간 것입니다.격자점은 0과 1로 이루어져있으며. (즉, 매번 100이 아니다.)5x5로 채울 수 있는 경우의 수들또한 있으니까요.그리고 100개의 격자점에 4x4가 아니라 사실은 4x4가 채워지면 채울 수 있는 영역 자체가 제한되기 때문에 더 적을 것이라고 생각했습니다.처음에는 저도 5^100이라고 생각을 했습니다.그러나 문제 조건을 보았을 때 10x10, 색종이의 갯수제한 5개를 보고 좀 더 작을 것이다. 라고 판단하고 어느정도 유추하고 -> 완탐 -> 줄일 수 있는 것은 줄여보자 -> 휴리스틱 -> 백트래킹 -> 이거 안되면 그리디로 해보자.라고 했을 때 백트래킹 단계에서 푼 것 같습니다. 이렇게 답변을 하셨는데요 여기서 의문점은 2가지 입니다.100개의 격자점에서 25개의 상태값을 순서와 상관없이 놓는 경우의 수죠. 이 말씀이 이해가 되지 않습니다. 저도 조건이 색종이가 각 5개라 25개이고 100개의 격자점에서 25개를 골라서 100C25 그 후에 11111,22222,33333,44444,55555 를 나열해서 가능한지 아닌지 판단해야하기 때문에 100C5* 25!/(5!*5!*5!*5!*5!) 이런 경우의 수가 나온다고 생각했습니다. 25!/(5!*5!*5!*5!*5!) 이거는 저렇게 중복된 숫자가 있을 때 나열하는 경우의 수 입니다. 왜 100개의 격자점에서 25개의 상태값을 순서와 상관없이 놓는 경우의 수인지 이해가 잘 되지 않습니다 -> 경우의 수가 이해가 안되는 거지 결론적으로는 너무 크다라는 결론은 이해했습니다.100개의 격자점을 대충 4x4로 감싼다고 했을 때 거의 다 채워지기 때문에 4개정도가 들어가기 때문에 이 문장이 이해가 가지 않습니다. 4*4로 총 5개까지 들어갈 수 있는거 아닌가요..? 100C5가 아니라 100C4 인지 이해가 되지 않습니다. 100C5라고 생각해서 약 7천만 정도가 나오고 남은 격자도 다른 색종이로 채운다고 생각해서 아마 처음 문제 푼 상태에서 여기까지 생각하더라도 7천만*a(다른 색종이로 채우는 경우의 수) 너무 많구나.. 생각하고 다시 풀어도 백트래킹까진 생각할 자신이 없네요 ㅠㅠ 마지막으로 큰돌님은 어느 정도 경우의수가 나올때 백트래킹으로 시간을 줄여서 성공할 수 있겠구나 라고 생각하시나요..? 일단 도전하고 안되면 빠르게 다음 알고리즘으로 생각을 전환하시는건지 아니면 본인만의 기준이 있으신건지도 궁금합니다!!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-P 질문입니다.
https://www.acmicpc.net/source/83888932비트마스킹으로 이 문제를 접근했습니다.각 톱니바퀴 회전 사이클을 처리할때 ,입력 톱니바퀴 idx기준 좌측과 우측으로 나눠회전 여부 및 방향을 rot배열에 저장하고 모든 탐색이 끝나면 rot배열을 참조해 회전을 하도록 만들었습니다.실행했을 때 원하는 값이 나오지 나오지 않는데 잘못된 로직이나 조건이 뭔지 찾기가 힘듭니다.답변 부탁드립니다, 선생님.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
누적합 인덱스 1부터 질문
안녕하세요.누적합 psum 배열을 만들 때 인덱스 1부터 시작하라고 하셨는데요.그럼 누적합을 만들 원본배열 a같은 경우도 인덱스 1부터 시작해야하는건가요? int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int psum[11] = {0}; for(int i=1; i<11; i++) { psum[i] = psum[i-1] + a[i]; }이렇게하면 알려주신 공식과 다른 값이 나와서요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-H 질문입니다.
http://boj.kr/19576287b7eb4247940b1b8e63b459f2 안녕하세요.어디가 틀렸는지 모르겠네요. ㅠㅠ선생님 풀이와 로직은 비슷한거같은데 반례를 못찾겠습니다.혹시 반례를 찾는 팁도 알려주시면 감사하겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-e 코드 질문 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.dp의 첫 인덱스에 알약 복용한 일차 / 두번째에는 0일시, 해당 일차에 1/2 꺼냈을 때 / 1일 시 해당 일차에 1 꺼냈을 때 이렇게 세팅하였는데, 결과가 잘 안나옵니다. 혹시 제 코드에 어떤 문제점이 있는지 알 수 있을까요?#include <bits/stdc++.h> using namespace std; int dp[64][2]; // dp[day][0] -> 남은 반쪽 약의 개수, dp[day][1] -> 남은 하나 약의 개수 int c; int move(int day, int tA, int tB) { if (tA <= 0 && tB <= 0) return 0; // 기저 조건 if (dp[day][0] != -1 && dp[day][1] != -1) return dp[day][0] + dp[day][1]; // 이미 계산된 상태 반환 int ret1 = 0; int ret2 = 0; // 반쪽 약을 먹는 경우 if (tA > 0) { ret1 += move(day + 1, tA - 1, tB); } // 하나짜리 약을 꺼내서 반쪽 약을 추가하는 경우 if (tB > 0) { ret2 += move(day + 1, tA + 1, tB - 1); } // dp 배열에 결과 저장 dp[day][0] = ret1; dp[day][1] = ret2; return ret1 + ret2; } int main() { cin >> c; memset(dp, -1, sizeof(dp)); // dp 배열 초기화 dp[1][0]=1; dp[1][1]=c-1; // 하나를 쪼개서 반이 된 상태임 // 첫째날은 반쪽 약 1개, 하나 약 c-1개로 시작 cout << move(1, 1, c - 1) << "\n"; return 0; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-B 출력관련 질문드립니다.
http://boj.kr/2b235b78257544c8a6575820cf9e5d91 안녕하세요제가 풀었는데 출력을 해보면 마지막에 %가 붙어서 나오더라구요. 근데 코드를 올리면 정답이라고 뜨네요.%가 혹시 왜 붙어나오는지 알 수 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 풀이 조합/순열 질문입니다.
http://boj.kr/f59749ffbbe643afad8bf3f22b8d3816 안녕하세요.nCr 강의에서 암기하라고 하셨던 combination 함수를 이용해서 풀었습니다.선생님 풀이에서 nPr로 풀이하셨는데 해당 방법도 알고있어야겠죠?nCr을 가르쳐주셔서 그방법으로 풀려고 고민했었는데, 왜 nPr로 풀이해주셨는지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강의교안 질문입니다.
구조체 기반 sort를 사용할 때 주의 할 점(강의교안 137p) 내용이 잘 이해가 안됩니다. 글 내용만 봤을때 구조체 정렬 코드를 작성할 때 ">" 오퍼레이터 대신 "<" 오퍼레이터만 사용해서 정의 하라는 내용으로 이해를 했는데 이후 코드를 보면 ">" 오퍼레이터도 사용되는 것을 볼수 있습니다. 조금만 더 자세히 설명해주시면 감사하겠습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 질문있습니다!
선생님과 다른 방식으로 로직을 짰는데뭐가 틀렸는지 찾지 못해서 질문 남깁니다.#include <bits/stdc++.h> using namespace std; int N; string input, pattern; int main() { cin >> N >> pattern; // 패턴을 '*'를 기준으로 앞 뒤로 나누기 int pos = pattern.find('*'); string prevPattern = pattern.substr(0, pos); string nextPattern = pattern.substr(pos + 1); for (int i = 0; i < N; i++) { cin >> input; if (input.find(prevPattern) != string::npos && input.substr(input.find(prevPattern) + prevPattern.size()).find(nextPattern) != string::npos) cout << "DA" << '\n'; else cout << "NE" << '\n'; } return 0; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-G 질문있습니다 :)
안녕하세요 선생님 🙂 이 문제가 의미하는 것이 무엇인지 정확하게 모르겠어서 질문 드립니다. n가지 종류의 동전들의 합이 k보다 작으면 -1, 아니라면 주어진 동전의 가치들로 k이상이 된다면 k를 만들 수 있는 동전의 최소 갯수를 출력하는 문제로 이해했습니다. 하지만 제가 이해한대로라면 테스트케이스의 출력 값은 1을 제외한 5와 12로, 총 2개가 되기 때문에 2가 출력이 되어야 합니다. 무언가 이해를 잘못했나보다 싶어서 강의를 틀었는데요, 문제를 이해했다는 가정으로 설명을 해주셔서 머리 속에 들어오지가 않더라구요.. 흑흑머리가 좋지 않은 제게 약간의 설명을 해주실 수 있을까요..??