inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

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

52. ugly number 와우

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

진짜 스마트한 풀이네요 어렵다 혼자서 생각해내기 어렵네요

  • c++
  • 코딩-테스트
콩팥팥죽 댓글 0 좋아요 0 조회수 450

이즈 꿀잼

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

회사가 그지같은 맥북이라서 js로 풀어봄 function solution() { const front = [2, 0, 3, 1]; const side = [1, 1, 2, 3]; const matrix = Array.from(Array(4), () => Array(4).fill(0)); for (let i = 0; i < 4; ++i) { for (let j = 0; j < 4; ++j) { matrix[j][i] = front[i]; } } let idx = 0; for (let i = 3; i >= 0; --i) { for (let j = 0; j < 4; ++j) { if (matrix[i][j] > side[idx]) matrix[i][j] = side[idx]; } idx++; } console.log(1); } solution();

  • c++
  • 코딩-테스트
콩팥팥죽 댓글 0 좋아요 0 조회수 627

1-I 1165번 문제 번호가 백준과 상이합니다.

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 선생님, 강의를 듣다 보니 1-I 강의에서 풀이해주시는 1165번 문제가 '나는야 포켓몬 마스터 이다솜' 였던 것으로 보입니다! 하지만 아래와 같이 현재 백준에서는 1620번 문제로 변경 됐나봅니다! 참고하시면 좋을 듯 보여 공유 드립니다~ 참고로 현재 백준의 1165번 문제는 "단어퍼즐" 문제 입니다~ 그럼 좋은하루 되세요 :)

  • c++
  • 코딩-테스트
als6030 댓글 1 좋아요 0 조회수 764

어떻게 공부해야할지 감을 못잡겠습니다.

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

큰돌님의 강의를 보면서 열심히 진행을 하고는 있지만, 제가 제대로 하고 있는지 모르겠어서 이렇게 질문 드립니다... 강의를 처음 결제한 후에는 개념강의를 본 후, 문제를 풀다가 모르겠는 경우, 솔루션을 보면서 이해하고 나중에 다시 한번 풀어보는 식으로 공부했습니다. 하지만, 3주차까지 진행하면서, 진짜 기초 문제는 풀었지만, 조금씩 응용이 되기 시작하면 문제 접근 방식을 떠올리고 구현했지만 틀리거나, 아예 어떻게 풀지 감도 못 잡는 경우가 너무 많아지고, 솔루션도 이해하는데 오래걸리면서, 제가 제대로 공부를 하고는 있는건지 스스로 의심하게 됩니다. 마치 어릴 때, 수학 포기하던 과정 같습니다. 수학에서 기초 개념만 배우고서 조금만 응용된 문제가 나오면 하나도 건들지 못하는 상태가 되어버리니, 제가 강의를 제대로 활용하고 있는건 맞는지, 아니면 그냥 멍청해서 못푸는건지에 대한 생각이 계속 맴돌고, 학생 때 수학처럼 포기하게 되지는 않을까? 아예 못푸는 지경이 되지는 않을까?하고 스트레스로 다가오게됩니다. 공부 방향과 방식을 어떻게 해야할지, 잘 나아가고 있는게 맞는건지, 그리고 또 모르는 문제가 너무 많은데 이럴 때는 어떻게 해야 하는지 여쭙고 싶습니다. 감사합니다.

  • 코딩-테스트
조상범 댓글 1 좋아요 0 조회수 856

제 풀이

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

제 방식대로 풀어봄

  • c++
  • 코딩-테스트
콩팥팥죽 댓글 0 좋아요 1 조회수 553

교안 끝내긴 했는데..

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

오늘부로 교안 끝내긴 했는데 2주 정도 걸린것 같습니다. 완벽하게 이해하지 못한부분들도 많고 시간이 길어지다 보니 앞부분은 좀 까먹은것 같은데 2회독 하는게 좋을까요? 아니면 강의 들으면서 모르거나 약한부분은 찾으면서 하는거 좋을까요?..

  • c++
  • 코딩-테스트
나도한 댓글 1 좋아요 0 조회수 492

[프로젝트] 웹 게임 디자이너, 기획자 구합니다.

현재 멤버 5년차 개발자 2년차 개발자 1년차 개발자 1년차 디자이너 맨날 같은 포트폴리오와 프로젝트로 차별 점이 없던 분들에게 아주 좋은 기회라고 생각합니다. 웹 게임 만들 생각이고 중간에 터질 일 없습니다. 카톡으로 자세히 설명 드리겠습니다. @gureuso 카톡 친구 부탁드립니다. https://www.rocketpunch.com/@gureuso

  • 프로젝트
  • 게임
  • 웹게임
  • 디자이너
  • 기획자
윤정현 댓글 0 좋아요 0 조회수 475

파이썬 강의를 들으며 독학으로 배운것들을 이용하여 작은 게임을 만들어보았습니다.

파이썬 강의를 들으며 독학으로 배운것들을 이용하여 작은 게임을 만들어보았습니다 총 길이는 845줄 입니다 다만 주로 Random 문으로 이루어져 있어 특성을 보고 원하는 클래스를 선택하고 랜덤으로 진행되는 상황을 보는 것 뿐입니다 공격을 하고 스킬을 선택해 공격하고 물약을 먹고, 플레이어가 선택할 수 있는건 처음에 클래스 선택 외에는 없습니다 게임의 진행이 모두 알아서 진행이 되기 때문에 그저 랜덤으로 나오는 진행값을 바라보는 것 뿐이지만 스스로 혼자 무언가 만들었다는 것에 대하여 만족하고 있습니다 혹시 궁금해서 돌려보실 분들이 계실지 모르니 간단하게 설명을 드리자면 참고로 비주얼 스튜디오로 작업했기 때문에 비주얼 스튜디오 기준 으로 말씀드리겠습니다 코드를 복붙하여 넣으시고 바로 실행하시면 진행상황과 게임의 진행 결과가 바로 출력이 됩니다 그렇게 되면 살았는지 죽었는지 바로 보이겠지만 중간의 과정을 보려면 위로 다시 쭉 올려야 하기 때문에 번거롭습니다 저는 개인적으로 print ( "서버에 접속 중입니다... \n " ) 이 부분에 Break Point 를 두어 실행 을 시켜 진행합니다 이렇게 진행을 하면 로그인 입력창 에서 멈춰있습니다 로그인 후 각 클래스의 특성을 확인 후 진행할 클래스를 입력한 후 부터는 F10 키를 누르시면서 진행하시면 됩니다 꾹 누르면서 진행하셔도 되고 한 번씩 누르시면서 코드가 진행되는 상황이나 게임의 진행상황을 보시면서 하셔도 됩니다 저는 개인적으로 이렇게 천천히 진행 하면서 다음에 결과가 어떻게 될지 예상하면서 하는걸 좋아합니다 혹시나 이 글을 봐주신 분들이 계신다면 긴글 봐주셔서 감사합니다 # RPG 2.0 수정 및 변경사항 # 1차 완성 및 1차 수정_0618 # 1차 밸런스 조정 및 레벨업 구현 # '가드' 클래스 추가 # 각 클래스 별 마지막 스테이지 입장 시 '보스몬스터' 추가예정 # 2차 수정_0621 # 각 클래스 별 마지막 스테이지 입장 시 '보스몬스터' 추가 # 가드 클래스 'shild' 스킬 추가 # 몬스터 데미지 조정 2 => 3 # 가드 클래스 HP 조정 45 => 40 # 클래스별 HP 및 데미지가 모두 전사 설정값 으로 지정된 문제 확인, 각 클래스에 맞게 수정 # 보스전 전투시 치명타 데미지 추가 # '헌터' 클래스 추가 # 저주의 높은 확률로 다수 출현으로 인한 데미지 조정 3 => 2 # 포션의 높은 확률로 다수 출현으로 인한 회복량 조정 3 => 2 # 전사 클래스 DMG 상향 7 => 8 # 헌터 테스트 결과 사망의 다수 출현으로 인하여 HP 상향 15 => 20 # 3차 수정_0622 # 가드 클래스와 보스간의 HP 차이가 작기 때문에 보스 HP 상향조정 50 => 60 # 프로그램 실행시 로그인 기능 추가 # '갬블러' 클래스 추가 # level 시스템 수정 #------------------------------------------------------------------------------------------------------------------------------------------ # 기본적인 Info # 전사 HP : 20 / DMG : 7 / 포션효과 +2, 저주 데미지 +2 # 도적 HP : 10 / DMG : 15 / 크리티컬 데미지 25, 포션효과 -1, 몬스터에게 받는 추가데미지 +1 # 매지션 HP : 15 / DMG : 10 / 힐링 +2, 몬스터에게 받는 추가데미지 +1 # 가드 HP : 45 / DMG : 5 / 다른 클래스보다 2구역 추가 클리어 조건 # 헌터 HP : 20 / DMG : 10 / 보스와 전투시 추가 데미지 +5, Hide 스킬 (은신시 공격회피) # 몬스터 HP : 25 # 몬스터 DMG : 3 # 보스 HP : 60 # 보스 DMG : 10 # 보스 스킬 DMG : 15 # 포션효과 : 2 # 저주 데미지 : 2 # 몬스터와 3의 배수로 전투시 레벨업, 레벨업 시 HP +5 / DMG +3 # 던전 탈출 전 사망시 게임종료 # 각 클래스 마지막 구역 보스 돌파시 생존, 게임종료 # '갬블러' 클래스 추가 from random import * #----------------------------------------------- 변수 survive = 0 # 구역이동횟수 damage = 0 # 받은 데미지 monfight = 0 # 만난 몬스터 수 life = 20 # 전사 HP power = 8 # 전사 데미지 life2 = 10 # 도적 HP power2 = 15 # 도적 데미지 life3 = 15 # 매지션 HP power3 = 10 # 매지션 데미지 life4 = 40 # 가드 HP power4 = 5 # 가드 데미지 life5 = 20 # 헌터 HP power5 = 10 # 헌터 데미지 life6 = 20 # 갬블러 HP power6 = 10 # 갬블러 데미지 level = 1 # 전사 레벨 level2 = 1 # 도적 레벨 level3 = 1 # 매지션 레벨 level4 = 1 # 가드 레벨 level5 = 1 # 헌터 레벨 level6 = 1 # 갬블러 레벨 #----------------------------------------------- # ----------------------------------------------------------- 로그인 while True : id = input ( "아이디를 입력해주세요 : " ) if id == "qwerty" : password = input ( "비밀번호를 입력해주세요 : " ) if password == 'asdf1234' : print ( "로그인에 성공하였습니다 \n " ) print ( "서버에 접속 중입니다... \n " ) break else : print ( "! 비밀번호를 다시 확인해주세요" ) else : print ( "! 아이디를 다시 확인해주세요" ) # ----------------------------------------------------------- 로그인 print ( "@----- PRG 2.0 에 오신걸 환영합니다 -----@" ) print ( "----- warrior / rogue / magician / guard / hunter / gamler 총 6가지 클래스가 존재합니다 -----" ) print ( "생존 조건은 각 클래스별 마지막 구역에서 출현하는 보스 몬스터 처치이며, 던전 탈출 전 사망시 게임이 종료됩니다. \n " ) dungeon = ( "move" , "monster" ) # ------------------------------- 이동과 몬스터 출현 play = ( "Attack" , "Hit" , "life up" , "curse" ) # ----------------------- 전사, 가드 확률표 guardplay = ( "Hit" , "shild" , "Miss" , "skill" ) # ------------------------------------- 가드 피격 확률표 guardshild = ( "skill" , "shild" ) hunterplay = ( "Hit" , "Miss" , "skill" , "hide" ) # --------------------------------------- 헌터 클래스 보스 피격 확률표 hunterhide = ( "skill" , "hide" ) # --------------------------------------- 헌터 클래스 보스 스킬 회피 확률표 rougeplay = ( "Attack" , "Critical Attack" , "Hit" , "life up" , "curse" ) # --------------------- 도적 확률표 magicianplay = ( "Attack" , "Hit" , "life up" , "Healing" , "curse" ) # ------------------ 매지션 확률표 bosshit = ( "Hit" , "Miss" , "skill" ) # -------------------- 보스 확률표 def job1 ( life , power ): # 전사 클래스 설명 print ( "warrior 는 {0} 의 준수한 HP를 가지며 {1} 의 비교적 낮은 공격력을 가지고있지만 패시프 효과로 포션의 효과가 +2 됩니다." . format ( life , power )) print ( "높은 체력을 가지며 포션의 효과가 증대된 대신, 저주의 데미지 -2 를 추가로 받습니다." ) return life , power warrior = job1 ( 20 , 8 ) def job2 ( life2 , power2 ): # 도적 클래스 설명 print ( " \n rogue 는 {0} 의 비교적 낮은 HP를 가지며, {1} 의 높은 공격력을 가지고있으며 크리티컬 히트로 2배의 데미지를 줄 수 있습니다." . format ( life2 , power2 )) print ( "높은 딜링을 가지며 크리티컬 히트로 2배의 딜을 가진 대신, 포션의 효과가 -1 감소하며 보스와 몬스터에게 +1 추가데미지를 입습니다." ) return life2 , power2 rouge = job2 ( 10 , 15 ) def job3 ( life3 , power3 ): # 매지션 클래스 설명 print ( " \n magician 은 {0} 의 적당한 HP를 가지며, {1} 의 준수한의 공격력을 가지고있으며 유일한 힐 스킬로 체력을 +2 회복합니다." . format ( life3 , power3 )) print ( "유일하게 힐 효과를 가지고 있는대신, 보스와 몬스터에게 받는 추가데미지 -1 이 적용됩니다. \n " ) return life3 , power3 magician = job3 ( 15 , 10 ) def job4 ( life4 , power4 ): # 가드 클래스 설명 print ( " \n guard 는 {0} 의 높은 HP를 가졌지만 {1} 의 상당히 낮은 공격력을 가지고있습니다." . format ( life4 , power4 )) print ( "높은 HP를 가져 잘 죽지 않으며 쉴드 스킬로 데미지를 반으로 줄 가드는 다른 클래스와 달리 2구역을 추가로 돌파, 즉 7구역을 돌파해야 생존합니다. \n " ) return life4 , power4 guard = job4 ( 40 , 5 ) def job5 ( life5 , power5 ): # 헌터 클래스 설명 print ( " \n hunter 는 {0} 의 준수한 HP와 {1} 의 공격력을 가지고있으며 보스에게 +5 추가 피해를 주며 보스전에서 Hide 스킬 발동시 공격을 회피합니다." . format ( life5 , power5 )) print ( "보스에게 추가 +5 데미지를 주며 Hide 스킬 발동시 공격을 회피하지만 헌터의 모든 능력은 보스전에서만 효과를 발휘합니다. \n " ) return life5 , power5 hunter = job5 ( 20 , 10 ) def job6 ( life6 , power6 ): # 갬블러 클래스 설명 print ( " \n gambler 는 기본적으로 HP 와 DMG 를 알 수 없습니다 이 클래스는 HP 와 DMG가 시작시 랜덤으로 부여됩니다" ) print ( "랜덤 스텟부여 범위는 최소 5부터 최대 30까지, 이는 랜덤으로 부여됩니다 운이 좋다면 30, 30 도 가능합니다 \n " ) return life6 , power6 gambler = job6 ( "?" , "?" ) player = input ( "----- 사용하실 클래스를 입력해 주십시요 ----- : " ) job = ( "warrior" , "rouge" , "magician" , "guard" , "hunter" , "gambler" ) # ----------------------------------------------------------------------------------------------------------------------------------------- # 전사 if player == 'warrior' : print ( "전사 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'warrior' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level = level + 1 life = life + 5 power = power + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level = level + 1 life = life + 5 power = power + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level = level + 1 life = life + 5 power = power + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck2 = sample ( play , 1 ) if luck2 == [ 'Attack' ]: # --------------공격 monster = monster - power print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck2 == [ 'Hit' ]: # -------------------------------데미지 life = life - 3 damage = damage + 3 print ( "공격을 받았습니다 / 현재 생명력 : {0} " . format ( life )) if luck2 == [ 'life up' ]: # -----------------------------회복 life = life + 4 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 패시브로 인하여 +2 를 추가 회복합니다 / 현재 생명력 : {0} " . format ( life )) if luck2 == [ 'curse' ]: # -------------------------저주 life = life - 4 damage = damage + 4 print ( "저주를 받아 -2 라이프가 감소합니다 패시브로 인해 저주 데미지 -2 를 추가로 받습니다 / 현재 생명력 : {0} " . format ( life )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life + damage , damage )) quit () if survive == 5 : #--------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck2 = sample ( play , 1 ) if luck2 == [ 'Attack' ]: # --------------공격 Boss = Boss - power print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck2 == [ 'Hit' ]: # -------------------------------보스 데미지 bosshit = sample ( bosshit , 1 ) if bosshit == [ 'Hit' ]: life = life - 10 damage = damage + 10 print ( "보스 몬스터의 공격을 받았습니다 / 현재 생명력 : {0} " . format ( life )) if bosshit == [ 'skill' ]: # ------------------보스 치명타 데미지 life = life - 15 damage = damage + 15 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 / 현재 생명력 : {0} " . format ( life )) if bosshit == [ 'Miss' ]: # -------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life )) if luck2 == [ 'life up' ]: # -----------------------------회복 life = life + 4 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 패시브로 인하여 +2 추가로 회복합니다 / 현재 생명력 : {0} " . format ( life )) if luck2 == [ 'curse' ]: # -------------------------저주 life = life - 4 damage = damage + 4 print ( "저주를 받아 -4 라이프가 감소합니다 패시브로 인해 저주 -2 데미지를 추가로 받습니다 / 현재 생명력 : {0} " . format ( life )) if Boss <= 0 : # -----------------------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다 계속 진행합니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level , life + damage , damage , life )) quit () if life <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 도적 if player == 'rouge' : # ------------------------------------도적 클래스 print ( "도적 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'warrior' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level2 = level2 + 1 life2 = life2 + 5 power2 = power2 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level2 = level2 + 1 life2 = life2 + 5 power2 = power2 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level2 = level2 + 1 life2 = life2 + 5 power2 = power2 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck3 = sample ( rougeplay , 1 ) if luck3 == [ 'Attack' ]: # ---------------------------------------------공격 monster = monster - power2 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck3 == [ 'Critical Attack' ]: # ---------------------------------------치명타 공격 monster = monster - ( power2 * 2 ) print ( "치명타 공격이 발생하였습니다! / 몬스터HP : {0} " . format ( monster )) if luck3 == [ 'Hit' ]: # -------------------------------데미지 life2 = life2 - 4 damage = damage + 4 print ( "공격을 받았습니다 패시브로 인하여 -1 데미지를 추가로 받습니다 / 현재 생명력 : {0} " . format ( life2 )) if luck3 == [ 'life up' ]: # -----------------------------회복 life2 = life2 + 1 print ( "포션을 사용하여 생명력을 +1 회복하였습니다 / 현재 생명력 : {0} " . format ( life2 )) if luck3 == [ 'curse' ]: # -------------------------저주 life2 = life2 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life2 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life2 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life2 + damage , damage )) quit () if survive == 5 : #----------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck3 = sample ( rougeplay , 1 ) if luck3 == [ 'Attack' ]: # --------------공격 Boss = Boss - power2 print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck3 == [ 'Critical Attack' ]: # --------------치명타 공격 Boss = Boss - ( power2 * 2 ) print ( "치명타 공격이 발생하였습니다! / 보스 HP : {0} " . format ( Boss )) if luck3 == [ 'Hit' ]: # -------------------------------보스 데미지 bosshit = sample ( bosshit , 1 ) if bosshit == [ 'Hit' ]: life2 = life2 - 11 damage = damage + 11 print ( "보스 몬스터의 공격을 받았습니다 패시브로 인하여 -1 추가 데미지를 받습니다 / 현재 생명력 : {0} " . format ( life2 )) if bosshit == [ 'skill' ]: # -------------------보스 치명타 데미지 life2 = life2 - 16 damage = damage + 16 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 패시브로 인하여 -1 추가 데미지를 받습니다 / 현재 생명력 : {0} " . format ( life2 )) if bosshit == [ 'Miss' ]: # ------------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life2 )) if luck3 == [ 'life up' ]: # -----------------------------회복 life2 = life2 + 1 print ( "포션을 사용하여 생명력을 +1 회복하였습니다 / 현재 생명력 : {0} " . format ( life2 )) if luck3 == [ 'curse' ]: # -------------------------저주 life2 = life2 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life2 )) if Boss <= 0 : # --------------------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level2 , life2 + damage , damage , life2 )) quit () if life2 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life2 + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 매지션 if player == 'magician' : print ( "매지션 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'warrior' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level3 = level3 + 1 life3 = life3 + 5 power3 = power3 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level3 = level3 + 1 life3 = life3 + 5 power3 = power3 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level3 = level3 + 1 life3 = life3 + 5 power3 = power3 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck4 = sample ( magicianplay , 1 ) if luck4 == [ 'Attack' ]: # --------------공격 monster = monster - power3 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck4 == [ 'Hit' ]: # -------------------------------데미지 life3 = life3 - 4 damage = damage + 4 print ( "공격을 받았습니다 패시브로 인해 -1 데미지를 추가로 받습니다. / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'life up' ]: # -----------------------------회복 life3 = life3 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'Healing' ]: # -----------------------------힐링스킬 life3 = life3 + 2 print ( "힐링스킬을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'curse' ]: # -------------------------저주 life3 = life3 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life3 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life3 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life3 + damage , damage )) quit () if survive == 5 : #---------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck4 = sample ( magicianplay , 1 ) if luck4 == [ 'Attack' ]: # --------------공격 Boss = Boss - power3 print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck4 == [ 'Hit' ]: # -------------------------------보스 데미지 bosshit = sample ( bosshit , 1 ) if bosshit == [ 'Hit' ]: life3 = life3 - 11 damage = damage + 11 print ( "보스 몬스터의 공격을 받았습니다 패시브로 인하여 -1 추가 데미지를 받습니다 / 현재 생명력 : {0} " . format ( life3 )) if bosshit == [ 'skill' ]: # ----------------------보스 치명타 데미지 life3 = life3 - 16 damage = damage + 16 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 패시브로 인하여 -1 추가 데미지를 받습니다 / 현재 생명력 : {0} " . format ( life3 )) if bosshit == [ 'Miss' ]: # ------------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'life up' ]: # -----------------------------회복 life3 = life3 + 2 print ( "포션을 사용하여 생명력을 +3 회복하였습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'Healing' ]: # -----------------------------힐링스킬 life3 = life3 + 2 print ( "힐링스킬을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life3 )) if luck4 == [ 'curse' ]: # -------------------------저주 life3 = life3 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life3 )) if Boss <= 0 : # ---------------------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level3 , life3 + damage , damage , life3 )) quit () if life3 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life3 + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 가드 if player == 'guard' : print ( "가드 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'warrior' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level4 = level4 + 1 life4 = life4 + 5 power4 = power4 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level4 = level4 + 1 life4 = life4 + 5 power4 = power4 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level4 = level4 + 1 life4 = life4 + 5 power4 = power4 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck5 = sample ( play , 1 ) if luck5 == [ 'Attack' ]: # --------------공격 monster = monster - power4 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck5 == [ 'Hit' ]: # -------------------------------데미지 hitluck = sample ( guardplay , 1 ) if hitluck == [ 'Hit' ]: life4 = life4 - 3 damage = damage + 3 print ( "공격을 받았습니다 / 현재 생명력 : {0} " . format ( life4 )) if hitluck == [ 'shild' ]: # -----------------------데미지 방어 life4 = life4 - 1.5 damage = damage + 1.5 print ( "몬스터의 공격을 방어하여 절반의 데미지만 받습니다 / 현재 생명력 : {0} " . format ( life4 )) if luck5 == [ 'life up' ]: # -----------------------------회복 life4 = life4 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life4 )) if luck5 == [ 'curse' ]: # -------------------------저주 life4 = life4 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life4 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life4 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life4 + damage , damage )) quit () if survive == 7 : #---------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck5 = sample ( play , 1 ) if luck5 == [ 'Attack' ]: # --------------공격 Boss = Boss - power4 print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck5 == [ 'Hit' ]: # -------------------------------보스 데미지 hitluck = sample ( guardplay , 1 ) if hitluck == [ 'Hit' ]: life4 = life4 - 10 damage = damage + 10 print ( "보스 몬스터의 공격을 받았습니다 / 현재 생명력 : {0} " . format ( life4 )) if bosshit == [ 'skill' ]: # ----------------- 보스 치명타데미지 hitluck2 = ( sample ( guardshild , 1 )) if hitluck2 == [ 'skill' ]: life4 = life4 - 15 damage = damage + 15 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 / 현재 생명력 : {0} " . format ( life4 )) if hitluck2 == [ 'shild' ]: # -------------------------보스 치명타 데미지 방어 life4 = life4 - 7.5 damage = damage + 7.5 print ( "보스 몬스터의 치명타 공격을 방어하여 절반의 데미지만 받습니다 / 현재 생명력 : {0} " . format ( life4 )) if hitluck == [ 'shild' ]: # -------------------데미지 방어 life4 = life4 - 5 damage = damage + 5 print ( "보스의 공격을 방어하여 절반의 데미지만 받습니다 / 현재 생명력 : {0} " . format ( life4 )) if hitluck == [ 'Miss' ]: # -------------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life4 )) if luck5 == [ 'life up' ]: # -----------------------------회복 life4 = life4 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life4 )) if luck5 == [ 'curse' ]: # -------------------------저주 life4 = life4 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life4 )) if Boss <= 0 : # ------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level4 , life4 + damage , damage , life4 )) quit () if life4 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life4 + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 헌터 if player == 'hunter' : print ( "헌터 클래스로 시작합니다" ) print ( "@--- 던전에 입장 합니다 ---@" ) while 'hunter' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level5 = level5 + 1 life5 = life5 + 5 power5 = power5 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level5 = level5 + 1 life5 = life5 + 5 power5 = power5 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level5 = level5 + 1 life5 = life5 + 5 power5 = power5 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck6 = sample ( play , 1 ) if luck6 == [ 'Attack' ]: # --------------공격 monster = monster - power5 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck6 == [ 'Hit' ]: # -------------------------------데미지 life5 = life5 - 3 damage = damage + 3 print ( "공격을 받았습니다 / 현재 생명력 : {0} " . format ( life5 )) if luck6 == [ 'life up' ]: # -----------------------------회복 life5 = life5 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life5 )) if luck6 == [ 'curse' ]: # -------------------------저주 life5 = life5 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life5 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life5 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life5 + damage , damage )) quit () if survive == 5 : #--------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck6 = sample ( play , 1 ) if luck6 == [ 'Attack' ]: # --------------공격 Boss = Boss - ( power5 + 5 ) print ( "보스 몬스터를 공격하였습니다 패시브로 인하여 추가 +5 데미지를 줍니다 / 보스 HP : {0} " . format ( Boss )) if luck6 == [ 'Hit' ]: # -------------------------------보스 데미지 hitluck3 = sample ( hunterplay , 1 ) if hitluck3 == [ 'Hit' ]: life5 = life5 - 10 damage = damage + 10 print ( "보스 몬스터의 공격을 받았습니다 / 현재 생명력 : {0} " . format ( life5 )) if hitluck3 == [ 'skill' ]: # ----------------- 보스 치명타데미지 hitluck4 = ( sample ( hunterhide , 1 )) if hitluck4 == [ 'skill' ]: life5 = life5 - 15 damage = damage + 15 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 / 현재 생명력 : {0} " . format ( life5 )) if hitluck4 == [ 'hide' ]: # -------------------------------------------------------------보스 치명타 데미지 회피 print ( "은신을 사용하여 치명타 공격에서 벗어났습니다 / 현재 생명력 : {0} " . format ( life5 )) if hitluck3 == [ 'hide' ]: # -----------------------------------------------------------보스 데미지 회피 print ( "은신을 사용하여 공격에서 벗어났습니다 / 현재 생명력 : {0} " . format ( life5 )) if bosshit == [ 'Miss' ]: # -----------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life5 )) if luck6 == [ 'life up' ]: # -----------------------------회복 life5 = life5 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life5 )) if luck6 == [ 'curse' ]: # -------------------------저주 life5 = life5 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life5 )) if Boss <= 0 : # --------------------------보스 처치 print ( "보스 몬스터를 처치했습니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level5 , life5 + damage , damage , life5 )) quit () if life5 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life5 + damage , damage )) quit () # ----------------------------------------------------------------------------------------------------------------------------------------- # 갬블러 if player == 'gambler' : state = range ( 5 , 31 ) roll = sample ( state , 2 ) life6 = roll [ 0 ] power6 = roll [ 1 ] print ( "갬블러 클래스로 시작합니다" ) print ( "당신의 운을 시험해보세요 \n " ) print ( "시작 전 갬블러는 HP 와 DMG 를 랜덤으로 부여받습니다" ) print ( "랜덤부여 결과 이번 갬블러의 HP는 {0} , DMG는 {1} 로 결정됐습니다 행운을 빕니다 \n " . format ( life6 , power6 )) print ( "@--- 던전에 입장 합니다 ---@" ) while 'gambler' : monster = 25 luck = sample ( dungeon , 1 ) #print (luck) # ----------move 인지 monster 인지 확인 if luck == [ 'move' ]: # ------------------------이동 survive = survive + 1 print ( " {0} 구역으로 이동합니다..." . format ( survive )) if luck == [ 'monster' ]: # ---------------------------전투 print ( "몬스터를 만났습니다, 전투를 시작합니다" ) monfight = monfight + 1 if monfight == 3 : level6 = level6 + 1 life6 = life6 + 5 power6 = power6 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 2)" ) if monfight == 6 : level6 = level6 + 1 life6 = life6 + 5 power6 = power6 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 3)" ) if monfight == 9 : level6 = level6 + 1 life6 = life6 + 5 power6 = power6 + 3 print ( "레벨업 하였습니다! HP +5, DMG +3 (level 4)" ) while monster : luck7 = sample ( play , 1 ) if luck7 == [ 'Attack' ]: # --------------공격 monster = monster - power6 print ( "몬스터를 공격하였습니다 / 몬스터HP : {0} " . format ( monster )) if luck7 == [ 'Hit' ]: # -------------------------------데미지 life6 = life6 - 3 damage = damage + 3 print ( "공격을 받았습니다 / 현재 생명력 : {0} " . format ( life6 )) if luck7 == [ 'life up' ]: # -----------------------------회복 life6 = life6 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life6 )) if luck7 == [ 'curse' ]: # -------------------------저주 life6 = life6 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life6 )) if monster <= 0 : # ------------------------------몬스터 처치 print ( "몬스터를 처치했습니다 계속 진행합니다" ) break if life6 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life6 + damage , damage )) quit () if survive == 5 : #--------------------------------------------보스 출현 Boss = 60 print ( "보스 몬스터가 등장했습니다 / HP : 50, DMG : 10" ) while Boss : luck7 = sample ( play , 1 ) if luck7 == [ 'Attack' ]: # --------------공격 Boss = Boss - power6 print ( "보스 몬스터를 공격하였습니다 / 보스 HP : {0} " . format ( Boss )) if luck7 == [ 'Hit' ]: # -------------------------------보스 데미지 bosshit = sample ( bosshit , 1 ) if bosshit == [ 'Hit' ]: life6 = life6 - 10 damage = damage + 10 print ( "보스 몬스터의 공격을 받았습니다 / 현재 생명력 : {0} " . format ( life6 )) if bosshit == [ 'skill' ]: # ------------------보스 치명타 데미지 life6 = life6 - 15 damage = damage + 15 print ( "보스 몬스터의 물어뜯기 공격에 치명타데미지를 받았습니다 / 현재 생명력 : {0} " . format ( life6 )) if bosshit == [ 'Miss' ]: # -------------------------------------------------미스 print ( "보스 몬스터의 공격이 빗나갔습니다 / 현재 생명력 : {0} " . format ( life6 )) if luck7 == [ 'life up' ]: # -----------------------------회복 life6 = life6 + 2 print ( "포션을 사용하여 생명력을 +2 회복하였습니다 / 현재 생명력 : {0} " . format ( life6 )) if luck7 == [ 'curse' ]: # -------------------------저주 life6 = life6 - 2 damage = damage + 2 print ( "저주를 받아 -2 라이프가 감소합니다 / 현재 생명력 : {0} " . format ( life6 )) if Boss <= 0 : # -----------------------------------------------보스 처치 print ( "보스 몬스터를 처치했습니다 계속 진행합니다" ) print ( "@--- 던전을 무사히 탈출하여 생존하였습니다 ---@" ) print ( "최종 이동구역은 {0} 구역 이며 {1} 마리의 몬스터와 전투를 하여 {2} 레벨을 달성하였고, 총 {3} 의 라이프 중 {4} 데미지를 받아 {5} 의 라이프로 생존하였습니다." . format ( survive , monfight , level , life6 + damage , damage , life6 )) quit () if life6 <= 0 : # -----------------------사망 print ( "--- 사망하였습니다 ---" ) print ( "최종 이동구역은 {0} 구역이며, 총 {1} 의 라이프포인트 중 {2} 데미지를 받았습니다." . format ( survive , life6 + damage , damage )) quit ()

  • 파이썬
  • 코딩
  • rpg
  • 게임
  • 독학
  • 확률
jangms96 댓글 0 좋아요 1 조회수 1166

인기 태그

인프런 TOP Writers

주간 인기글