학원강사라서 학원 애들한테 쓰게 만들려고 앱 클로드코드로 만드는데
아니 시바 내가 원문을 주면
그거로 그냥 순서배열을 만들면 되는데
이걸 시발 하루종일 못하고 있네 오푸스 4.1 개 븅신새끼 이거
이런게 원래 어려운거야?
19 if (type === 'order') {
1220 - // + 수능 순서배열 문제 형식 (난이도별 개수 정확히 조정)
1221 - let arrangeSentenceCount; // 배열할 문장 개수
1220 + // + 수능 순서배열 문제 형식 - 전체 원문 사용!!
1221 + console.log(`+ 순서배열 문제 생성 시작 - 난이도: ${difficulty}`);
1222 + console.log(`+ 전체 문장 수: ${sentences.length}개`);
1223
1224 + // 난이도별 배열 문장 개수 설정
1225 + let arrangeSentenceCount;
1226 if (difficulty === 'basic') {
1227 - arrangeSentenceCount = 3; // 기본: A, B, C (3개 배열)
1227 + arrangeSentenceCount = 3; // 기본: A, B, C
1228 } else if (difficulty === 'medium') {
1229 - arrangeSentenceCount = 4; // 중급: A, B, C, D (4개 배열)
1230 - } else { // advanced
1231 - arrangeSentenceCount = 5; // 고급: A, B, C, D, E (5개 배열)
1229 + arrangeSentenceCount = 4; // 중급: A, B, C, D
1230 + } else {
1231 + arrangeSentenceCount = 5; // 고급: A, B, C, D, E
1232 }
1233
1234 - // problemId로 시드 생성하여 매번 다른 문장 선택
1235 - const seed = problemId ? problemId.split('_').reduce((acc, val) => acc + val.charCodeAt(0), 0) :
- Date.now();
1234 + // 전체 문장이 부족한 경우 조정
1235 + if (sentences.length < arrangeSentenceCount + 1) {
1236 + arrangeSentenceCount = Math.max(2, sentences.length - 1);
1237 + console.log(`⚠+ 문장 부족으로 ${arrangeSentenceCount}개로 조정`);
1238 + }
1239
1240 - // 시드 기반 랜덤 함수
1241 - let seedRandom = seed;
1242 - const random = () => {
1243 - seedRandom = (seedRandom * 9301 + 49297) % 233280;
1244 - return seedRandom / 233280;
1245 - };
1240 + console.log(`✅ 최종 설정: ${arrangeSentenceCount}개 문장 배열 (${String.frodddmCharCode(65, 65+1, 65+2,
+ arrangeSentenceCount >= 4 ? 65+3 : null, arrangeSentenceCount >= 5 ? 65+4 : null).replace(/,null/g, '')})`);
1241
1242 - // ⚠+ 핵심: 실제 사용 가능한 문장 개수에 맞춰 조정
1243 - const maxPossibleCount = Math.min(sentences.length - 1, arrangeSentenceCount);
1244 - const actualArrangeCount = Math.max(3, maxPossibleCount); // 최소 3개는 보장
1242 + // + 핵심: 전체 문장 사용!!!
1243 + const givenSentence = sentences[0]; // 첫 문장은 주어진 문장
1244 + const remainingSentences = sentences.slice(1); // 나머지 전체 문장
1245
1246 - console.log(`+ 순서배열 문제 생성: 난이도 ${difficulty}, 실제 배열 문장 ${actualArrangeCount}개`);
1247 -
1248 - // + 중요: 전체 문장 중에서 순차적으로 선택 (원문 순서 유지)
1249 - const totalNeeded = actualArrangeCount + 1; // 주어진 문장 1개 + 배열할 문장들
1250 - const problemSentences = sentences.slice(0, totalNeeded);
1251 -
1252 - if (problemSentences.length < totalNeeded) {
1253 - console.log(`❌ 문장 부족: 필요 ${totalNeeded}개 vs 사용가능 ${problemSentences.length}개`);
1254 - return null;
1246 + // 배열할 문장 선택 (나머지 전체에서 필요한 개수만큼)
1247 + let sentencesToArrange;
1248 + if (remainingSentences.length <= arrangeSentenceCount) {
1249 + // 남은 문장이 배열 개수보다 적거나 같으면 전체 사용
1250 + sentencesToArrange = remainingSentences;
1251 + arrangeSentenceCount = sentencesToArrange.length; // 실제 개수로 조정
1252 + } else {
1253 + // 남은 문장이 많으면 앞에서부터 필요한 개수만큼 선택
1254 + sentencesToArrange = remainingSentences.slice(0, arrangeSentenceCount);
1255 }
1256
1257 + console.log(`+ 사용 문장: 주어진 1개 + 배열 ${sentencesToArrange.length}개 = 총 ${1 +
+ sentencesToArrange.length}개`);
1258 + console.log(`+ 전체 원문 ${sentences.length}개 문장 중 ${1 + sentencesToArrange.length}개 사용`);
1259 +
1260 console.log(`✅ 선택된 문장 ${problemSentences.length}개 (전체 ${sentences.length}개 중)`);
1261
1262 // 첫 번째 문장은 주어진 문장으로 고정
뭐 이딴식으로 지가 규칙을 막 짜는데 하루종일 계속안됨 병신새끼
이래서 문장삽입 빈칸 어법 이런건 언제 만드노 하 십세끼;;
단일 파일이 너무 커보인다. 저런 건 json 파일로 바꿔 달라고 하면 어떨까. 클코한테.
그리고 if문이네 저거? 무슨 조건문이 저리 길어;
ㅋㅋㅋㅋㅋㅋㅋ도ㅓ와줘
@슬랄라 니가 하는 건 모놀리식인데 단일 파일에 다 때려박는 형식이라 결합도가 높음. 저러면 하나를 건드리면 나머지가 다 영향을 받는다. 저걸 마이크로 아키텍쳐로 전환하고 Srp 원칙에 따라 리팩토링하면 한결 나을거야. 그리고 if else else else 보이지. 코드 베이스 전부가 저런 식으로 되어 있으면 복잡도가 엄청나게 높은 상태일 가능성이 높거든.
@ㅇㅇ1(175.113) 또 하드코딩해놓은 부분도 보이고. 네가 할일 1. 원본 백업. Git 쓸 줄 모르면 복사본이라도 만들기. 2. 거대한 단일 파일을 단일책임원칙에 맞게 나누기. 3. 하드코딩 된 부분 json 파일로 바꿀 수 있으면 바꿔서 하드코딩 하지 말기. 4. If -else 의 중첩 지나치지 않게.
땡큐 진짜!! 이걸 GPT한테 그대로 해달라고 하겠삼
바이브 코딩도 개발지식이 있어냐하는거야 ㅋㅋㅋ 코드 보소 ㅋㅋ
ㅋㅋㅋㅋㅋㅋ나 클로드코드로 태어나서 처음 해보는거라...
단일 파일 1000줄 넘어가면 Ai 잘 못 읽어..
헐... 그렇구나...그럼 항상 이걸 줄이는게 중요함?? 짧게??
@슬랄라
https://m.dcinside.com/board/thesingularity/825147
@솔담비딸기카나페 이거보면 진짜좋아!
리팩토링좀 해라
리팩토링 해달라고 하면 해줌??
@슬랄라 ㅇ
@슬랄라 지치티한테 구조 짜달라고 하고 구현해라 if문 덕지덕지 붙이지 말고
gpt5 pro로 해보삼 - dc App
@슬랄라 니가 하는 건 모놀리식인데 단일 파일에 다 때려박는 형식이라 결합도가 높음. 저러면 하나를 건드리면 나머지가 다 영향을 받는다. 저걸 마이크로 아키텍쳐로 전환하고 Srp 원칙에 따라 리팩토링하면 한결 나을거야. 그리고 if else else else 보이지. 코드 베이스 전부가 저런 식으로 되어 있으면 복잡도가 엄청나게 높은 상태일 가능성이 높거든.08.30 02:16:47삭제 ㅇㅇ1(175.113)@ㅇㅇ1(175.113) 또 하드코딩해놓은 부분도 보이고. 네가 할일 1. 원본 백업. Git 쓸 줄 모르면 복사본이라도 만들기. 2. 거대한 단일 파일을 단일책임원칙에 맞게 나누기. 3. 하드코딩 된 부분 json 파일로 바꿀 수 있으면 바꿔서 하드코딩 하지 말기. 4. If -else 의 중첩 지나치