inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

Session Send 멀티스레드 관련

해결됨

[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)

안녕하세요 Session쪽 Send 만들어 보고 있습니다. 구현하면서 궁금한게 Send에서 lock을 잡고 RegisterSend쪽에서는 lock을 잡지 않는 상황인데 RegisterSend에서 하나의 스레드가 들어와서 while문을 돌면서 sendQueue를 Dequeue하고 있는데 이 과정에서 다른 스레드가 Send에서 sendQueue Enqueue를 할 수 있지 않나 생각이 듭니다. 그래서 RegisterSend에서 적어도 while문에는 lock을 걸어줘야 공유자원 _sendQueue에 대해서 안전하게 처리 될 수 있지 않나라고 생각 하는데 만약 안전하다면 왜 안전한지에 대해서 듣고 싶습니다. 감사합니다!

  • C#
  • unity
  • mysql
  • MMORPG
  • ef-core
  • asp.net-web-api
toyboy0113 댓글 1 좋아요 0 조회수 205

자료 받을 수 있나요?

미해결

파이썬 빅데이터분석 기초

강의 내용 피피티와 코랩 실습 파일을 받아서 공부하고 싶습니다.

  • python
리버풀 댓글 1 좋아요 0 조회수 145

나머지 문법

미해결

[신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드

안녕하세요. 기본문법 강의 잘들었습니다. 영상 마지막에 말씀 주신 클래스 예외처리 문자열 처리 문법은 카페 어느 게시판에서 확인 할수 있을까요?

  • python
문병룡 댓글 2 좋아요 0 조회수 190

안녕하세요. 강의 잘 보고 있습니다. 노션에 코멘트

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요. 알고리즘 종결 급 강의 잘 보고 있습니다. 그러나 강의를 보는동안 해당 강의의 노션 페이지에 comment가 보이지 않는것 같습니다. 강의에서는 comment가 정상적으로 있는것 같은데 다른 페이지에는 comment가 보이는데 해당 페이지에서만 안보이네요. 강사님의 소중한 자료라 풀 스크린은 올리지 않겟습니다. 오른쪽에 comment가 없습니다 ㅠㅠ

  • python
  • 코딩-테스트
  • 알고리즘
rhkdtjd_12 댓글 1 좋아요 0 조회수 196

그라파나에서 에러가 발생합니다

미해결

따라하며 배우는 MySQL on Docker

프로메테우스 하고 export 간 정상 작동하고있습니다(db001 만 올렸어요) 그런데 MySQL_Overview.json 대쉬보드만 생성을 하면 Temlating Failed to upgrade legacy queries 에러가 발생하고 구글링 하면 그라파나 버전 문제 떄문이라고 하는데.. 현재 그라파나 최신버전 입니다. 혹시 몰라서 다른 json 대쉬보드로 해봐도 그대로네요. 아무리 구글링 해봐도 잘 모르겠네요.. <해결> 강사님께서 강의 하실때 올려주신 json 템플릿과 현재 그라파나가 호환이 안되서 발생했던 에러입니다. grafana-dashboards/dashboards/MySQL at main · percona/grafana-dashboards · GitHub 이 페이지에서 최신 json으로 적용하니까 그라파나에서 정상 작동 하네요!

  • mysql
  • docker
km9311 댓글 1 좋아요 0 조회수 468

SocketAsyncEventArgs Pooling

해결됨

[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)

안녕하세요 강의 참고하면서 서버 만들어 보고 있는데 https://learn.microsoft.com/ko-kr/dotnet/api/system.net.sockets.socketasynceventargs?view=net-8.0#remarks 해당 문서에서 pooling이 있더라구요 생각해보니 동접이 꽤 많다라고 가정하면(약 3000?) 이 SocketAsyncEventArgs 생성 소멸이 많이 일어난다고 생각했습니다. 그래서 pooling을 한번 만들어보고 있는데 만드는 중에 Dispose를 언제 해줘야 할지 감이 잘 안옵니다. 현재는 Client가 Disconnect될 때 Push하게 되는데 Push에서 poolCount가 3000이 넘으면 이걸 AllClear라는걸로 pool에 있는 SocketAsyncEventArgs를 다 Dispose해주는 상황인데 이렇게하면 3000이 넘기 전까지는 메모리에 계속 남아 있으니 먼가 찜찜합니다. 이런 문제가 있는데 좋은 해결책이 있을까요? 감사합니다!

  • C#
  • unity
  • mysql
  • MMORPG
  • ef-core
  • asp.net-web-api
toyboy0113 댓글 1 좋아요 0 조회수 190

EmailOperator OSError

미해결

Airflow 마스터 클래스

안녕하세요. EmailOperator 실습과정에서 오류가 발생해서 질문을 남깁니다! 설정을 한 후 실행을 하니. OSError: [Errno 99] Cannot assign requested address 가 발생해서 도움이 필요합니다..! docker-compose.yaml 파일에 이렇게 설정을 하였고, 에러는 다음과 같습니다!

  • python
  • 데이터-엔지니어링
  • airflow
선넘준 댓글 3 좋아요 0 조회수 214

최적의 개발환경(Sublime Text3) 설치(for windows) 영상부터 꿀팁 전까지 강의가 재생이 안되고 검은 화면만 보입니다.

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

최적의 개발환경(Sublime Text3) 설치(for windows) 영상부터 꿀팁 전까지 강의가 재생이 안되고 검은 화면만 보입니다. 아래 강좌도 검은화면만 보이고 play가 안됩니다. 코딩테스트에 필요한 자료구조 총정리 - Python 중간중간 play가 안되는데 어떻게 된건가요???

  • python
  • 코딩-테스트
  • 알고리즘
kdh906 댓글 1 좋아요 0 조회수 140

YOLO_V3에서 output layer 질문입니다.

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 로드맵 따라가며 강의 정말 잘 듣고있습니다 ! 항상 친절한 답변도 감사드립니다. 다름이 아니라 Yolo 3를 구현하면서 궁금증이 생겼습니다. 1. output을 담당하는 layer가 3개이므로(13X13/26X26/52X52) 3개의 layer에서 forward를 이용하여 결과를 추출한다고 이해했는데 이게 맞나요? 3개에서 뽑은 output(confidence_threshold보다 큰) 을 종합한 후 NMS process를 거쳐서 최종적으로 조건에 맞는 index를 반환받아 그 index를 이용해 image에 구현한다고 이해했는데 이것도 맞을까요? 만약 위에서 제가 이해한게 어느정도 맞다면 마지막으로 드는 궁금증은 13X13, 26X26, 52X52에서 각 Grid Cell이 image의 object를 예측할텐데, 이는 비유하자면 Random Forest에서 각각 학습한 model이 다수결(?)로 infernece한다고 이해해도 될까요? 즉, 세개의 Multi Scale에서 학습한 각각의 gride cell의 anchor box들이 자신의 의견을 내놓아 그중 confidence, nms의 조건을 이용해 최종적으로 조건에 부합하는 몇 개의 bbox만 남는걸로 이해해도 되는지 여쭤보고 싶습니다..!

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
jcy4023 댓글 2 좋아요 1 조회수 168

섹션9 First Autoencoder 인코더, 디코더 모델 생성 오류 해결 방법

미해결

파이썬을 활용한 머신러닝 딥러닝 입문

강의 14분쯤에서 모델을 변경하는 부분입니다. 케라스가 업데이트 된 건지는 잘 모르겠지만 아래 부분에서 시퀀셜 모델이 레이어를 단일 값으로 받을 수 없어 에러가 납니다. encoder = Sequential(Dense(2, input_shape=(3, ))) decoder = Sequential(Dense(3, input_shape=(2, ))) autoencoder = Sequential([encoder, decoder]) autoencoder.summary() 아래 처럼 괄호로 감싸 리스트로 넘기면 해결됩니다. encoder = Sequential([Dense(2, input_shape=(3, ))]) decoder = Sequential([Dense(3, input_shape=(2, ))]) autoencoder = Sequential([encoder, decoder]) autoencoder.summary()

  • python
  • 머신러닝
  • 딥러닝
  • pandas
  • numpy
  • keras
  • tensorflow
  • anaconda
  • matplotlib
  • cnn
공부해서키도컷음조켓다 댓글 1 좋아요 0 조회수 231

vscode 명령어 산출

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

‘섹션2. 파이썬 Print 사용법 1-1 이것저것 출력해봐요.’공부중입니다! 명령어는 잘 적은거 같은데 command+i키 눌렀는데 밑에 안나와요…어떻게 해야하나요…?

  • python
전성현 댓글 1 좋아요 0 조회수 122

이 문제 bfs로 해도 상관없지않나여?

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

이 문제 bfs로 해도 상관없지않나여? dfs랑 차이가 있나여?? 정확히 언제 dfs로 풀고 언제 bfs로 풀어야하는지 모르겟습니다

  • python
  • 코딩-테스트
코딩코딩코딩코 댓글 1 좋아요 0 조회수 143

맥북(m2) 파이썬 Print 사용법 (1-1)강의 atom 설치

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요! 강의 구매후에 공부중인 학생입니다. 다름이 아니라 이제 본격적으로 섹션2를 시작했는데 시작하자마자 atom이라는 프로그램을 설치하라고 하는데 그전 강의 '파이썬 기본 환경 설정'편에서는 atom설치 관련 강의가 없어가지고, 설치를 어떻게 하는지 모르겠어요 ㅠㅠ

  • python
전성현 댓글 1 좋아요 0 조회수 115

CentOS EOS에 따라 기존의 레포지토리 내 패키지들이 삭제되어에러 발생!

미해결

따라하며 배우는 MySQL on Docker

안녕하세요! CentOS의 EOS가 종료됨에 따라 레포지토리가 더이상 사용할 수 없게 되어서 docker build -t mysql57.0.0 ./ 명령어 시에 아래와 같은 에러가 발생합니다. $ docker build -t mysql57.0.0 ./ ... ... => ERROR [ 5/12] RUN yum install -y perl.x86_64 libaio.x86_64 numactl-libs.x86_64 net-tools.x86_64 sudo.x86_64 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was 0.572 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error" 이는 레포지토리가 더이상 지원하지 않아서 yum install -y 할 때 나타나는 에러입니다. 그래서 /etc/yum.repos.d/CentOS-Base.repo 의 내용을 아래와 같이 변경해야합니다. [base] name=CentOS-$releasever - Base # original #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ # new baseurl=http://centos.mirror.cdnetworks.com/7/os/x86_64 gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates # original #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ # new baseurl=http://centos.mirror.cdnetworks.com/7/updates/x86_64 gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras # original #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ # new baseurl=http://centos.mirror.cdnetworks.com/7/extras/x86_64 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus # original #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ # new baseurl=http://centos.mirror.cdnetworks.com/7/centosplus/x86_64 gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 그리고 CentOS-Base.repo 파일을 Dockerfile에 추가하였습니다 FROM centos:7 COPY ["Percona-Server-client-57-5.7.30-33.1.el7.x86_64.rpm",\ "Percona-Server-server-57-5.7.30-33.1.el7.x86_64.rpm", \ "Percona-Server-shared-57-5.7.30-33.1.el7.x86_64.rpm", \ "Percona-Server-shared-compat-57-5.7.30-33.1.el7.x86_64.rpm", \ "node_exporter-1.0.1.linux-amd64.tar.gz", \ "mysqld_exporter-0.12.1.linux-amd64.tar.gz", \ "start_node_exporter.sh", \ "start_mysqld_exporter.sh", \ ".my.cnf","/tmp/"] COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo USER root RUN groupadd -g 1001 mysql RUN useradd -u 1001 -r -g 1001 mysql RUN yum install -y perl.x86_64 \ libaio.x86_64 \ numactl-libs.x86_64 \ net-tools.x86_64 \ sudo.x86_64 RUN yum downgrade -y openssl-libs-1.0.2k-16.el7 -> 다운그레이드! ... ... ... COPY CentOS-Base.repo /etc/you.repos.d/CentOS-Base.repo를 추가하고 나서 docker build -t mysql57.0.0 ./ 실행하니까 정상적으로 잘 되네요! 그리고 이유는 모르겠으나 yum install -y penssl-libs-1.0.2k-16.el7을 하면 패키지 버전 충돌때문에 빌드 시 에러가 발생합니다. yum install -y penssl-libs-1.0.2k-16.el7를 제거하고 yum downgrade -y openssl-libs-1.0.2k-16.el7를 추가하니까 빌드가 잘됩니다.. 이유는 레포지토리가 변경되면서 뭔가.. 그런거 같기도하고 잘모르겠네요 감사합니다.!

  • mysql
  • docker
댓글 1 좋아요 0 조회수 406

질문있습니다!

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

여기서 experience를 모델에서 못찾아서?? experience.startYearMonth 등 인식이 안되는것 같습니다. cannot resolve라고 뜹니다. 혹시 제가 컨트롤러라든지 DTO라든지 잘못적고 놓쳤나보다 하고 봤는데 왜 안되는지 못찾겠습니다. 한번 확인 가능할까요? 컨트롤러 서비스 DTO 데이터 초기화 이렇게 타임리프 적용이 안될 떄는 어떻게 찾는게 좋은 방법일까요?

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
댓글 2 좋아요 0 조회수 151

jpa쿼리튜닝 팁이 궁금합니다.!

미해결

비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)

안녕하세요 강의 잘 듣고 있습니다! jpa를 사용해서 프로젝트를 진행하면 쿼리 메서드를 사용할텐데 select * <- 이걸로 넓은 범위를 조회할텐데 jpql로 다 작성해주어야 하나요? jpa로 프로젝트 진행할때 팁이나 검색 키워드 추천해주세요!

  • sql
  • mysql
  • dbms/rdbms
  • query-tuning
qheogus55 댓글 1 좋아요 0 조회수 470

Join 구문에서 메인 테이블

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

SELECT provider FROM items JOIN ranking on ranking.item_code = items.item_code 여기서 items 위치를 메인 테이블 ranking 위치를 서브 테이블이라고 칭할게요! 메인테이블과 서브테이블을 어떤걸로 해야할지 항상 헷갈려요 기본적으로 보고 싶은 컬럼인 provider가 원래 속한 테이블을 메인에 두려고는 하는데 예제 풀어주시는 걸 보면 아닌 경우도 있어서요! 어차피 테이블을 조인하는거니까 하나의 테이블이 되면 뭐가 메인이 되어도 상관이 없지않나 싶은데.. 메인 테이블 지정하는 기준이 있나요??

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
dmsal0544 댓글 1 좋아요 0 조회수 198

셀레니움 headless 옵션 추가시 크롤링 안되는 현상

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

안녕하세요. 셀레니움으로 개발된 프로그램을 GUI로 감싸서 만들어 보려고 하고 있습니다. 아래 코드에서 크롬 창이 뜨도록 하면 잘 실행되면 elem에 데이터가 들어옴을 확인할 수 있습니다. 1번을 확인 후 headless 옵션을 주고 실행하면 창은 뜨지 않고 실행되나, 데이터를 가져오지 못합니다. 구글링도 해보고, GPT도 물어봤지만 답을 찾을 수 없어서 문의 드리게 되었습니다. 확인 부탁드립니다. from selenium import webdriver # from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager # 크롬 드라이버 자동 업데이트을 위한 모듈 from selenium.webdriver.common.by import By # from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver import ActionChains # 스크롤시 사용 from selenium.webdriver.support import expected_conditions as EC import time from bs4 import BeautifulSoup as bts import pandas as pd import os from datetime import datetime ################################### # Window 열고, 네이버 지도에서 검색 ################################### options = webdriver.ChromeOptions() options.add_argument('headless') # service = Service(ChromeDriverManager().install()) # driver = webdriver.Chrome(options=options) driver = webdriver.Chrome() # driver = webdriver.Chrome(ChromeDriverManager().install()) action = ActionChains(driver) keyword = '서울 강남구 정보통신' url = f'https://map.naver.com/p/search/{keyword}' driver.get(url) # WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="searchIframe"]'))) time.sleep(20) search_iframe() elem = driver.find_elements(By.CSS_SELECTOR, '.place_bluelink.C6RjW > span.YwYLL') # 이름 name_list = [e.text for e in elem] elem

  • python
  • 웹-크롤링
초칼라 댓글 2 좋아요 0 조회수 1141

비교연산자와 반복문+조건문 문제 풀이 강의 질문이요.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

13:05부터 약간 문제풀이가 이해가 안 되어가지구요. 1 2 3 4 5 6 7 8 9 10 int=i sum=0 첫번째 if문 sum+=i*i; i%2 == 1 -> 2로 나누어서 나머지가 1값이 나오면 곱셈하라는 이야기이죠? 그러면 홀수인 1 3 5 7 9는 (1*1, 3*3, 5*5, 7*7, 9*9) 하라는 이야기이네요? 두번재 else 에서는 sum-= i; -> 음수값 붙이라는 이야기인가요? 그러면 짝수는 (-2, -4, -6, -8, -10) 이라는 이야기이네요? 거기서 1 2 3 4 5 6 7 8 9 10 처음 sum 값은 0이니 홀수는 1*1해서 1값이 나온거고 다음 짝수는 첫번째 sum 값인 1*1 에서 -2를 더해서 -1값이 나온거고 그래서 1 2 3 4 5 6 7 8 9 10 1 -1 8 4 29 23 72 64 145 135 (1*1) = 1 {(1*1) = 1} -2 = -1 (3*3)-1 = 8 {(3*3)-1 = 8} -4 = 4 이렇게 순서대로 이해하면 되나요? 이게 맞는건가요? 비전공자라 이해가 잘 안되서 여쭙니다. 감사합니다.

  • python
  • java
  • c
  • 정보처리기사
tjdgusl1987 댓글 1 좋아요 0 조회수 106

시간초과를 자력으로 해결하지 못했습니다 😓

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요, 강의를 듣고 계신 여러분! 여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기 단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요! 강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지 를 명확히 제시해 주시면 답변에 도움이 됩니다! 자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 자신은 어떻게 이해했는지 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 안녕하세요. 선생님. 저번 설명과 조언 너무 감사합니다. 그,, 백준 2580 스도쿠에 관한 질문인데요, 시간 초과를 해결하지 못하였는데, 각각을 보면 그렇게까지 시간이 많이 들지는 않을 거 같다는 생각도 들구.. 재귀를 사용하지는 않았지만, 어디서 시간이 많이 걸리는 지 분석이 안되어서요.. 선생님 도움이 필요해서 질문 남깁니다.. arr = [list(map(int, input().split())) for _ in range(9)] # 스도구 문제 배열 idxs = [] # 인덱스 쌍을 담는 배열 for i in range(9): for j in range(9): if not arr[i][j]: idxs.append((i,j)) def fillHori(y, x): # 가로 nums = 45 # 1~9까지의 합 for i in range(9): if x == i: continue # 자기 자신 탐색 제외 if arr[y][i] == 0: return 0 # 0이 또 있으면 채울 수 없음 nums -= arr[y][i] return nums def fillVerti(y, x): #세로 nums = 45 # 1~9까지의 합 for i in range(9): if y == i: continue # 자기 자신 탐색 제외 if arr[i][x] == 0: return 0 # 0이 또 있으면 채울 수 없음 nums -= arr[i][x] return nums def fillSquare(y, x): #사각형 nums = 45 # 1~9까지의 합 for i in range(y // 3 * 3, y // 3 * 3 + 3): for j in range(x // 3 * 3, x // 3 * 3 + 3): if y == i and x == j: continue # 자기 자신 탐색 제외 if arr[i][j] == 0: return 0 # 0이 또 있으면 채울 수 없음 nums -= arr[i][j] return nums def fillCrossDown(y, x): # 대각선(안씀) nums = 45 # 1~9까지의 합 for i in range(9): for j in range(9): if y == i and x == j: continue # 자기 자신 탐색 제외 if arr[i][j] == 0: return 0 # 0이 또 있으면 채울 수 없음 if y - x == j - i: nums -= arr[i][j] return nums def fillCrossUp(y, x): # 대각선(안씀) nums = 45 # 1~9까지의 합 for i in range(9): for j in range(9): if y == i and x == j: continue # 자기 자신 탐색 제외 if arr[i][j] == 0: return 0 # 0이 또 있으면 채울 수 없음 if y + x == j + i: nums -= arr[i][j] return nums while idxs: for i, j in idxs: n = fillHori(i, j) if n: arr[i][j] = n; idxs.remove((i,j)); continue n = fillVerti(i, j) if n: arr[i][j] = n; idxs.remove((i,j)); continue n = fillSquare(i, j) if n: arr[i][j] = n; idxs.remove((i,j)); continue n = fillCrossUp(i, j) if n: arr[i][j] = n; idxs.remove((i,j)); continue n = fillCrossDown(i, j) if n: arr[i][j] = n; idxs.remove((i,j)) for a in arr: for i in a: print(i, end = ' ') print()

  • python
  • 코딩-테스트
  • 알고리즘
zhu 댓글 2 좋아요 0 조회수 231

인기 태그

인프런 TOP Writers

주간 인기글