묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
국비를 듣고 나서 개인 공부 중인데 조언 부탁드려도 될까요
안녕하세요.현재 8개월 짜리 국비 강의를 수료하고 학교 졸업과 취준을 준비하고 있는 강의생입니다.저는 국비 다닐 때 나름 열심히 개인 공부도 했다고 다른 학우분들과 비교해봐도 못하는 수준은아니었어서 수료 후서비스 회사를 목표로 포폴을 쌓아야겠다는 생각에 외부에서 스터디도 구하고, 프로젝트도 진행해보고 있습니다.그런데 국비에서 배운 것이 얼마나 얄팍한 지식이었는지 깨달았습니다. Spring Boot도 아니고 Spring legacy를 수업에서 사용했었고, API는 들어보지도 못하고 기본적인 CRUD만 작성하여 JSP에 뿌리는 법을 배워서 그걸 응용한 프로젝트 만든 것이 끝이었더라고요.외부에서 다른 사람들은 AWS, Swagger이런 것을 다룰 때 8개월간 공부한게 허송세월인 것 같아서 너무 혼란스럽습니다.지금이라도 SpringBoot와 JPA같은 최신 기술을 공부하면서 어찌저찌 CRUD기능은 구현할 수 있도록 만들어놓았는데 계속 찾아보니 백엔드로는 채팅서비스, 위치기반 서비스 이런 것도 프로젝트로 구현하는 것을 보았습니다. 겨우 CRUD만 구현할 줄 아는 제가 감히 서비스 기업을 노려도 되는지 자신이 없어집니다. 사실 SI도 제게 감지덕지인게 아닌가 싶고...지금 할 수 있는 최선이 무엇일까요? 기존에는 취준에 집중하려고 CS공부, 코딩테스트 공부에 집중하려고 했는데, 쌓아놓은게 없다는 사실 때문에 뭐부터 해야할지 감도 안옵니다. 조언 부탁드려도 될까요?
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
지표 정의하기 연습문제
강의를 듣고 해야지 해야지 했는데 드디어 풀었네요! 풀고나서 피드백을 들으면 저의 생각 확장에 도움이 될것 같아 인프런 질문 게시판에 올려봅니다! 미리 감사드립니다:)#1. 기능이 잘 동작하고 있는지 확인하려면?(메인 화면의 모든 영역이 에러없이 잘 보인다는 가정하에)Click이라는 절대적 수치 → (단순히 기능이 잘동작하는지만 확인하려면) Click 이라는 이벤트가 각 영역에서 일어나고 있는지 그리고 얼마나 많이 일어나고 있는지 해당 기능이 잘 동작하고 있다는 것을 볼 수 있음해당 지표가 전체 영역에대해 증가되면 잘 동작하는 것(보조)CTR : (각 영역의 클릭수) / (해당 홈화면에 들어오는 유저 수) → 클릭율이 높은 영역을 통해 우리 앱 내 서비스에서 어떤 영역이 인기가 있는지 알 수 있음(부가적) 각 영역에서 다음 페이지로의 전환율(CVR) → 각 영역에서의 클릭수가 증가하고 각 영역에서의 구매 전환이 전반적으로 상승한다면 잘 동작한다고 볼 수 있을것 같음 → 퍼널이 길어서 정확하게 부합하는 지표는 아니고 추가로 같이 볼 수 있지 않을까?비즈니스 질문우리 홈화면에서 각 영역의 버튼 기능이 잘 동작하고 있어?각 영역의 클릭수 확인 : 해당 메인 페이지에 들어온 유저 대비 몇명이 클릭수를 남기는지 비교 함으로써 클릭이라는 이벤트가 잘 쌓이는지도 확인 가능어떤 영역을 통해 우리 유저들이 구매로 넘어갈까?각 영역의 CTR : 어떤 부분에 더 초점을 맞춰야 하는지 어떤 영역이 죽어가는 영역인지 알 수 있을 것으로 예상#2. 검색 만족도 지표검색 만족도 지표(검색 기능에 만족했는지 알기위해) 퍼널: 검색페이지 → 검색 결과 페이지(plp) → 제품 상세 페이지(pdp)아래 두 지표가 높아지면 좋음(메인) CTR : 검색 결과 plp페이지에서 pdp페이지로의 클릭율로 확인(보조) CVR: 검색을 통해 pdp 페이지 클릭 후 해당 페이지에서 구매 전환이 일어난 경우재검색율: 한 유저가 검색을 몇번이나 다시 하는지상황 시뮬레이션검색 결과 페이지를 만족했을 경우상품 상세 페이지로 넘어가고 plp페이지로 나오고를 반복 후 마음에 드는 음식점에서 음식을 구매 할 것임불만족 했을 경우상단에 보이는 몇개의 결과물들을 본 후 다시 검색 시도몇개의 상품 페이지에 들어갔다가 다시 검색 시도엣지)처음 검색어에 만족했는데 유저의 마음이 변심해서 새로 또 검색하는 경우 (재검색이지만 사실 검색 만족도가 잘 되지 않았다고 보기는 어려움) → 그래서 아닌 재검색율을 메인지표로 쓰기엔 어렵고 보조 지표로는 볼 수 있을 것 같음 #3. 검색 필터 기능의 활성화 지표검색 필터 기능의 활성화 지표검색 필터 기능은 잘 사용되고 있을까요? 전체 검색을 활용하는 유저중 얼마나 많은 유저가 검색 필터 기능 버튼을 클릭하는지 확인필터 기능의 활성화 지표 정의필터 기능 버튼의 클릭율(CTR)필터 기능 버튼 클릭 수 / 검색을 이용한 유저 수검색 필터를 활용하는 사람이 구매를 정말 더 잘 일으키는 가?필터를 하면서까지 무언가를 검색하려는 목적이 분명한 유저?검색 필터 이후 구매 하기까지 pdp페이지 조회(혹은 구매전까지의 시간)를 더 단축했는지도 해당 기능이 잘 작용하고 있는지의 중요한 부분일 것 같다.필터를 하는 이유는 나의 조건에 맞는 애들만 적합하게 보기 위함이기 때문(로그 설계)필터 기능 버튼들 중 각 버튼에 대한 클릭 로그를 기록해두어야 함필터 기능 중에서도 어떤 기능을 많이 쓰는지 부가적으로 알 수 있으면 해당 영역을 앞으로 배치하는 등 순서를 새로 정렬 할 수 있음#4.배달 서비스에서 가장 중요한 지표는?배달 서비스에서 가장 중요한 지표는 무엇일까요? (MECE)배달 건수왜? 배달 건수가 결국 해당 어플에서의 거래액을 만들어내고 매출액이 거래액에서 몇 %의 비중으로 떨어질 것이라고 생각해서 매출과 가장 직결된 지표라는 생각어떻게 배달 건수를 늘릴 수 있을까?(MECE)주문자(유저)주문 건수추가로 해당 어플을 사용하는 유저의 수를 늘릴 수 있도록 노력한다.프로모션, 광고 등 신규 유저의 유입 혹은 기존 유저가 재주문 할 수 있도록 유도한다.보통 주문이 몰리는 점심,저녁이 아닌 아침이나 야식 혹은 간식과 같은 카테고리에 대해 프로모션을 진행해서 주문이 적은 시간에 주문을 늘릴 수 있도록 해본다.배달이라는 코어를 중심으로 유저 중심에서 언제 배달을 주문하게 될지 고민후 서비스를 개발한다비마트. 배민스토어 등등셀러(공급자)음식점의 평점해당 서비스의 카테고리별 셀러 수유저가 선택할 수 있는 선택지인 음식점을 다양하고 많이 제공한다.배달원(중간 다리)배달원 한명당 배달에 걸리는 평균 시간한 배달원이 하루에 처리하는 배달 건수배달원의 배달 만족도 평점배달원을 증가 시킴으로써 더 빠른 배달이라는 배달의 질을 높여 유저의 만족도를 높이고 해당 만족도를 기반으로 배달 건수를 늘려볼 수 있지 않을까? #5.추천 알고리즘의 성능 지표추천 알고리즘의 성능 지표추천 알고리즘의 목표: 유저에게 추천이 잘 동작해서 유저가 그 추천 제품을 클릭하게 만드는 것.(관심) 한 단계 더 나아가면 구매 전환을 일으킬 상품까지도 잘 추천했는가?CTR: 직관적으로 상품에 관심이 가면 그 상품을 클릭하게 될테니 상품의 노출대비 클릭이 어느 정도 되었는가로 추천 알고리즘의 성능을 확인할 수 있을것으로 판단된다.CTCVR(ctr*cvr): 추천한 상품이 마음에 들면 유저는 추천 알고리즘을 통해 나온 상품을 구매하게 될테니 추천한 상품이 유저에게 노출대비 얼마나 실제로 구매까지 전환이 되었는지 고려AUC-ROC#6.자주 사용하는 서비스의 지표내가 자주 사용하는 서비스의 지표(지그재그)쇼핑몰 어플의 특성상 구매가 잘 일어나는것도 중요하지만 유저들이 한번 탐색 혹은 경험 후 얼마나 다시 들어와서 탐색 혹은 구매를 다시 일으키는가도 매우 중요한 요소 중 하나임재방문 횟수 : 처음 가입한 유저가 한달이내에 몇 번 들어오는가리텐션: 3일 혹은 7일 등 해당 데이터를 살펴본 후 평균 유저의 재방문 주기를 파악하여 해당 일자 기준으로 N-day 리텐션을 계산해본다.체류시간 : 어플에 머무르는 시간(분단위)세션 아이디를 수집할 수 있다면 세션 시작 로그와 마지막의 로그 사이의 시간 차를 계산하는 것이 가장 좋음조건: 중간에 1시간 이상의 차이가 있을 경우 한 세션 안에 그룹을 나눠 체류시간을 계산구매 건 수: 구매 총 함계 액의 몇 % 비중으로 수수료를 받는것으로 알 고 있음. 단순히 체류하고 자주 방문하는 유저로 부터 구매가 많이 일어나야 좋은 서비스이므로 해당 지표도 같이 봐보자.#7. 퍼널 개선 프로젝트가입 퍼널 개선 프로젝트(쏘카 케이스 스터디랑 유사하게)가입 퍼널 프로세스의 전환율: 가입페이지에(A)들어와서 가입을 완료하는 유저의 비율해당 온보딩 페이지를 추가 한 후 가입 전환율이 개선되었는지 보면 될것 같다.(대조군)현재 가입 퍼널: A → C(가입 정보 기입) → D (가입 완료 페이지) (실험군)온보딩 추가 가입 퍼널: A → B(추가) → C → DC → D로 넘어가는 유저의 비율을 보면 온보딩의 효과를 할 수 있을것 같음(가드레일) 실험군과 대조군의 A → D의 전환율(예약 페이지의 전환율) : 해당 기능을 추가함으로써 현재 프로세스 전환율에는 크게 영향을 주면 안됨(가드레일)이탈률: 이거 계산 어떻게 할 수 있지? 1 - (B페이지에서 C로 가는 유저의 비율)멘탈 시뮬레이션실험군과 대조군의 A → D의 전환율(예약 페이지의 전환율)에 차이가 크다(온보딩 페이지 추가했더니 이탈률이 급중함) 이럴 경우 실험 중단이탈률에 큰 차이가 없다면)C → D로 넘어가는 유저의 비율이 실험군에서 더 높다면 실험 성공적낮다면 유저 세그멘테이션을 쪼개서 생각해보기
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka Consumer GroupID
안녕하세요!제가 강의를 다 듣고 난 뒤 추가로 공부를 해볼 생각으로catalog-service 에서 example-catalog-topic 를 받은 뒤상품의 개수를 파악 후 재고 유무의 따라 order-service 에주문 상태를 전달 해주는 example-order-topic 를 만들어 구독 중인 order-service 에서example-order-topic 에서 전달 받은 주문 상태를 업데이트 하는 로직을 구현하려고 했습니다.로컬에서 order-service 와 catalog-service 의 consumer groupId 를 consumerGroupId 로 통일해서 사용 했을 때는 괜찮았으나, docker 에 올리니 example-order-topic 이 생성은 됐으나 구독 및 전달이 되지 않더라구요.... 혹시나 해서 order-service 의 consumer groupId 를 consumerGroupId2 로 변경하여 docker 에 올리니 정상 작동이 됩니다. 혹시 각각의 service 는 groupId 를 다르게 해주어야 할까요??
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
참조자료형 변수 강의- class 자료형 선언 질문
public class Student { int studentID; String studentName; Subject korean; Subject math; public Student(int studentID, String studentName) { this.studentID=studentID; this.studentName=studentName; korean=new Subject(); math=new Subject(); } }위의 코드를 아래의 코드로 바꾸면 어떻게 다른거며 어떤 문제가 발생하나요?결과값은 똑같이 나오더라구요public class Student { int studentID; String studentName; Subject korean=new Subject(); Subject math=new Subject(); public Student(int studentID, String studentName) { this.studentID=studentID; this.studentName=studentName; } }
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
인텔리제이에서 kt 파일에 문법에러가 안뜹니다.
src > main > kotlin 에 있는 파일이 인식되지 않는건지 자동완성도 안되고 문법에러도 안뜨네요..test > kotlin 에 있는 .kt 파일에서는 잘 인식되는데 IDE 설정 문제일까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
빌드 아이디 바꾼 후 적용 안됨_재질문
안녕하세요. 이 강의에 질문을 달았는데 해결이 안되서 다시 질문드립니다.ㅠ 우선 로드밸런서에서는 아래의 동적페이지가 잘 작동되는것으로 확인됩니다.cloudFrond에서 연결도 잘 해줬구요. 그런데...제 도메인에서 부터 시작되는 부분은 자꾸 오류가 납니다.아래처럼요ㅠ아래 _buildManifest.js 네트워크창을 확인해보면 보드아이디도 잘 먹혀있는걸 확인할 수 있습니다.그런데 오류가 난 빨간부분에서는 뭔가 이상합니다.x-cache 부분을 보면 클라우드 프론트에 에러가 났다고 하는데 이유를 당최 모르겠습니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Actuator dependency and Swagger Stater 3.0.0 충돌 에러 해결
아래 블로그 참고해주세요. 저는 이걸로 해결했습니다.https://dkswnkk.tistory.com/672
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
setting/ts에 설정한후 폴더생성 및 추후작업
이전수업을setting/ts에서 따라해보면서쫒아왔는데요!github에서 받은것은 완성본이라고 하셨는데,폴더생성 및 추후 페이지작업 프론트작업도setting/ts에서 진행해도될까해서 질문드립니다.
-
해결됨실전! Querydsl
동적 정렬(orderBy)처리중 페이징 문제가 발생했는데 해결해주실 수 있을까요?ㅠㅠ
개인 프로젝트를 진행하며 querydsl을 사용하여 동적 쿼리문을 작성했습니다. 무한스크롤 페이징 처리를 하였고, 코드의 일부분만 보여드리면 아래와 같습니다.public ArticlePagingResponse<Article> searchDynamicQueryAndPaging(Long lastArticleId, ArticleSearchCond cond, String orderBy, int size) { JPAQuery<Article> query = new JPAQuery<>(em); query.from(article) .join(article.member,member)//article.member는 Article테이블에 있는 member_id, member는 Member테이블에 있는 id라고 생각 .join(article.restaurant, restaurant)//article.restaurant는 Article테이블에 있는 restaurant_id, restaurant는 Restaurant테이블에 있는 id .fetchJoin() .where( // no-offset 페이징 처리 ltStoreId(lastArticleId), // 검색조건들 생략... ); //정렬 동적 처리 switch(orderBy){ case OrderConst.CREATED_DATE_DESC://최신 순으로 정렬 query.orderBy(article.createdDate.desc()); break; case OrderConst.CREATED_DATE_ASC://오래된 순으로 정렬 query.orderBy(article.createdDate.asc()); break; case OrderConst.VIEWS_DESC://조회수 순으로 정렬 query.orderBy(article.views.desc(),article.createdDate.desc()); break; case OrderConst.LIKE_COUNT_DESC://좋아요 갯수 순으로 정렬 query.leftJoin(likeArticle) .on(article.id.eq(likeArticle.article.id)) .groupBy(article.id) .orderBy(likeArticle.count().desc(),article.createdDate.desc()); break; case OrderConst.COMMENT_COUNT_DESC://댓글 갯수 순으로 정렬 query.leftJoin(comment) .on(article.id.eq(comment.article.id)) .groupBy(article.id) .orderBy(comment.count().desc(),article.createdDate.desc()); break; default: throw new IllegalStateException("OrderConst에 정의되어있는 orderBy값 외의 다른 값이 들어왔습니다."); } List<Article> results = query .limit(size + 1) .fetch();//size를 DB에서 받는 것보다 프론트에서 받는게 더 유연할 것같음.fetch(); boolean hasNext = false; if (results.size() > size) {//결과가 6개이면 size(5)보다 크므로 다음 페이지가 있다는 의미 hasNext = true; results.remove(size - 1);//다음 페이지 확인을 위하 게시글을 하나더 가져왔으므로 확인 후 삭제 } return new ArticlePagingResponse<>(results,hasNext); }코드를 보면 no-offset방식으로 구현을 하였습니다. whrer문의 lastArticleId 값을 받고 그것보다 작은 값중에 5개씩 받도록 처리하였습니다.예) 10, 9, 8, 7, 6 의 게시글을 받고 그다음 스크롤 이벤트가 발생하면 6보다 작은 값 중에서 5개인 5, 4, 3, 2, 1 을 가져 오는 것입니다.문제는 최신순으로 정렬하여 값을 가져오면 최신 게시글의 id값이 가장 크므로 잘 작동하는데 다른 정렬 조건(오래된 순, 조회수순, 좋아요 갯수순, 댓글 갯수순) 으로 가져올 때는 id값의 순서를 예상하지 못하니때문에 정렬이 되지않는 문제가 발생하였습니다.오래된 순은 id값을 lt 대신에 gt쓰고 어떻게 구현할 수 있을 것같은데 다른 정렬 조건(조회수순, 좋아요순, 댓글순)은 어떻게 구현할 좋은 방법이 생각 나질 않네요 방법을 아시는 분 계시면 알려주시면 감사하겠습니다.
-
미해결따라하면서 배우는 웹애플리케이션 만들기
"페이지가 작동하지 않습니다."
강의보면서 따라하다가 새로고침을 하면 꼭 이런 페이지가 발생합니다. "페이지가 작동하지 않습니다.현재 localhost에서 요청을 처리할 수 없습니다.HTTP ERROR 500"완전 초보이다보니..아무리 봐도 어디를 고쳐야할지 모르겠어요 ㅜㅜ도움 요청 드립니다
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
9장 프로젝트 구조갖추기부분
컨트롤러스 page.js 에서 이부분 객체로 만든건가요?exports.renderProfile=(req,res,next)=>{}
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제풀이 02_7번 문제 정답 재확인
안녕하세요. 실전문제풀이 02_7번문제가 다음 ExamTopics 문제와 동일합니다..-. https://www.examtopics.com/discussions/amazon/view/94990-exam-aws-certified-solutions-architect-associate-saa-c03/그런데, ExamTopics에서 다음과 같이 D과 최다투표로 정답 표시되어 있습니다..강사님, 정답 재확인 부탁 드립니다. 미리 감사드립니다...D. 프런트엔드 계층과 애플리케이션 계층에 로드 밸런싱된 다중 AZ AWS Elastic Beanstalk 환경을 사용합니다. 데이터베이스를 Amazon RDS 다중 AZ DB 인스턴스로 이동합니다. Amazon S3를 사용하여 사용자 이미지를 저장하고 제공합니다. 최다 투표
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<input type="hidden" name="_open"/> 여기 부분 질문이요
안녕하세요 강의 잘 듣고있습니다 히든태그 부분에서요 value태그가 없어도 잘 작동이 되는데요 value를 굳이 안써도 되는걸까요?<input type="hidden" name="_open"/>
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
[9-2] CSV 파일 불러오기 중 비영어권 문자 깨짐 현상
안녕하세요. 코드 수행은 제대로 되고 있으나 위 사진처럼 영어가 아닌 스웨덴어, 라틴어 등의 문자가 깨져서 나오는 현상 때문에 질문 드립니다. 어떻게 해결할 방안 없을까요? (한글, 영어는 잘 나옵니다.) 좋은 강의 감사합니다.
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
파이참 장고 인식 불가 문제
이런식으로 파이참에서 장고 라이브러리를 인식 못하는것 같습니다. 실행에는 문제없으나 인텔리센스 도움을 못받고 있습니다 ㅠ 머가 문제일까요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
sort의 위치에 따른 시간초과 이유
안녕하세요 강사님나무 재테크의 문제에서 sort의 위치에 따라 시간초과가 나서 질문드립니다.저는 나무가 번식할때마다 sort를 해주었는데요.나무가 번식할때 8번 sort를 하게된다고 이해했습니다.시간초과 코드입니다.http://boj.kr/747f87a580cb4baa93829723a74c5e0c하지만 이렇게 하면 시간초과가 나서강사님의 코드처럼 나무가 영양분을 먹을때 sort를 하니 통과하였습니다. 나무가 영양분을 먹을때 sort를 하면 나무가 번식하지 않아도 계속 sort를 하게되는데왜 번식할떄만 sort하는것보다 시간이 적게 걸리는 걸까요?? 성공 코드입니다http://boj.kr/36fb687d7cb644169aa39f251d50051e
-
미해결너네 백엔드 하고 싶은 거 있으면 얼마든지 해 난 괜찮어 왜냐면 나는 파이어베이스가 있어
firebase deploy에러 문의 드려요.
안녕하세요! 혹시 프로젝트를 따라서 만들고, 별도로 수정한 내용을 다른 컴퓨터로 옮겨서 실행했어요.깃허브 커밋까지 완료는 했고, firebase deploy --only hosting을 실행하긴 했는데요.아래 에러가 떠요. 혹시 이 부분 어떤 원인인지 알 수 있을까요?Error: Directory 'dist' for Hosting does not exist.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
thumb 폴더 생성이 안됩니다.
이미지 업로드 후 thumb 폴더가 생성 안됩니다!검색해보니 AWS Lambda 함수에서 S3 서비스를 호출할 때, 해당 Lambda 함수의 실행 역할이 S3 버킷에 대한 필요한 권한을 가지고 있지 않아서 발생한 것이라고 합니다...역할도 S3객체 읽기 전용 권한 선택했습니다.근데 여기서 PutObject가 없는게 걸립니다..
-
미해결
uipath를 이용한 쇼핑몰에 상품 등록하기
강의 감사드립니다. 강의를 듣고 초보자지만 uipath를 이용해서 엑셀로 작업을 하고 저장까지는 했습니다.그런데 마지막으로 패션플러스라는 곳에 상품 업로드를 해야 하는데 어떻게 해야 하는지답답하네요...작업은 해놓고 올리지 못하다니...아쉽기도 하고요 어떻게 해야 하는지 궁금합니다,
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다 !!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.function solution(str) { let answer = "YES"; let left = 0; let right = 0; for (let x of str) { if (x === "(") left++; if (x === ")") right++; if (left < right) answer = "NO"; } if (left !== right) answer = "NO"; return answer; }스택을 사용해서 풀지는 않았지만 위와 같은 코드도 괜찮을까요??