728x90

분류 전체보기 93

Position 순서를 맞춰보자

대부분 게임 position은 1,2,3,4,5 순서대로 탑, 정글, 미드, 원딜, 서폿 순서로 정해진다. 그렇지만 실제 인게임에서는 라인을 스왑하는 경우도 생기고 다양한 변수들이 존재한다. 현재 포지션 정보도 변수로 정해둔 이상 순서도 맞춰주는 것이 맞는 방법이라고 생각하였다. 1,2,3,4,5를 맞추는 방법은 의외로 간단하다. 간단한 코테같달까? import pandas as pd import csv import json import pprint as pp a = pd.read_csv("TeamCombination_position.csv") f = open('210901lane_test.csv', 'a', encoding='utf-8', newline='') wr = csv.writer(f) wr.w..

인게임 데이터에서 챔피언 조합과 포지션 정보 취합하기

지난 포스팅에서 매치아이디를 가지고 유저들의 게임정보를 수집하였다. 이 정보를 가지고 어떤 것을 할 지에 대해 고민을 해야하는데...챔피언 조합 추천이 어떨까 생각을 해보았다. 그래서 각 게임마다 블루팀과 레드팀의 조합을 추출하고 각 챔피언이 어떤 라인에 섰는 지까지 뽑아보는 코드를 작성해보았다. import pandas as pd df = pd.read_csv("C:/RiotProject/aaa.csv", encoding='CP949') # df2 = pd.read_csv("C:/RiotProject/practice/Champtag_All.csv") df3 = pd.DataFrame({'Win':[], 'Lose':[], 'Win_Position':[], 'Lose_Position':[]}) 먼저 인게..

RiotAPI를 사용해서 인게임 정보를 모아보자

지난 포스팅에서 MatchId를 수집하였다. 이런 식으로 굉장히 많은 게임정보를 불러와버렸다. 이 매치아이디를 통해서 인게임정보를 알 수 있다! 이렇게 받아온 매치아이디를 match-v5에 넣게되면 인게임 정보가 호출 된다. 이전에도 어떤 데이터를 사용할 지에 대해서 작성한 적이 있지만 정보를 호출하면 아래와 같이 길게 나온다. 해당 게임의 클라이언트 버전, 게임 맵, 10명의 챔피언과 룬,특성, 아이템 등등 정말 많은 데이터가 담겨져 있다. 여기서 필요한 것만 뽑아올 것이다. 'assists', 'championId', 'deaths', 'firstBloodAssist', 'firstBloodKill', 'firstTowerAssist', 'firstTowerKill', 'individualPositi..

프로그래머스 - 서울에서 김서방 찾기

https://programmers.co.kr/learn/courses/30/lessons/12919 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니 programmers.co.kr 프로그래머스 1단계 중에는 이게 맞나 싶을정도로 간단한 문제들이 참 많다. 그냥..단순하게 인덱스 번호를 출력하는 방법에 관한 문제다. 심지어 Kim은 단 한번만 나타나기 때문에 어느 Kim이 정답인지 고민할 필요도 없다. 아마 코딩을 처음 배우는 입장인 사람이 풀어보면 좋을 문제라고 생..

카테고리 없음 2021.08.10

프로그래머스 - 2016년

https://programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 문제는 심플하다. 노가다로도 해결할 수 있는 문제 그런데 난 좀 간단하게 해결하고 싶었다. 어떠한 규칙이 있을 것이라고 생각했다. 2016년 1월 1일은 금요일이다. 그리고 윤년이니 2월은 29일까지 있고 1월부터 31,29,31,30,31,30,31,31,30,31,30,31일로 구성되어 있다. 결국 5월을 알고 싶다면 ..

코딩테스트 2021.08.10

화이자 백신 맞고 아나필락시스 쇼크 옴 ㅠㅠ

21년 8월 2일 화이자 백신 1차 접종하고 아나필락시스 반응으로 기절 두번하고 응급실까지 다녀와버렸습니다. 몸상태가 영 좋지 못해서 일주일간 거의 공백이었네요 아직 20대인 몸인데 .. 뭐 뉴스에서는 0.0006% 확률로 이러니까 보험상품 가입할 필요가 없다 이런식으로 나오던 걸 봤습니다. 보험가입하고 갈걸 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 하 앰뷸런스 안에서 어이가 없어서 엄청 웃었어요. 지금 일주일정도 지났는 데 기절할 때 기억은 안나지만 바닥에 머리를 세게 부딪혔다고 합니다. 그냥 한순간에 기억이 사라져버려서 지금도 살짝 어지럽기만 해도 무서워요 ㅠㅠ 심리적으로 좀 많이 위축되어 있는 것 같습니다. 그래도 그것 빼고는 지금 거의 다 회복한 것 같으니까 다시 힘내서 달려가야죵 라이엇 API는 인게..

기타/일기장 2021.08.10

프로그래머스 - 상호평가 (2주차)

https://programmers.co.kr/learn/courses/30/lessons/83201 2주차 챌린지 문제가 올라왔다. 문제가 꽤나 길다! 간단하게 이야기하면 각자 모두에게 평가를 한다. 그리고 자기가 받은 점수 중에 스스로 평가한 점수가 유일한 최고점이거나 최저점일 경우 그 값을 빼고 평균을 내어 성적을 출력한다는 내용이다. 처음엔 각 학생들마다의 성적리스트를 만들어서 모두 넣어버릴 생각을 했다. 그런데 그건 너무 비효율적이기도하고.. 조금 생각해보니까 한명한명 점수산출하고 다음 사람을 출력하는것이 더 낫겠다는 생각이 들었다. def solution(scores): answer = '' for i in range(len(scores)): tempt=[] for j in range(len(..

코딩테스트 2021.08.10

소환사이름으로 MatchId 저장하기

내가 하는 이번 프로젝트에서는 승리예측이 될지 피드백이 될지는 아직 확정되지 않았으나 적어도 브론즈, 실버, 골드를 위한 모델을 제작하려고 한다. 솔직히 롤 좀 해본 사람은 알거다. 소위 말하는 천상계 즉, 챌린저, 그랜드마스터, 마스터 유저들의 데이터를 잘 정리해주는 곳은 많긴 한데 그걸 내가 하면 잘 안된다...실력이 좋으면 모를까 어쨌든 난 가장 유저가 가장 많이 분포되어 있는 브실골을 위한 모델을 만들것이다!! 브실골 유저가 84% 사실 인터넷에서 농담으로 벌레티넘 벌레티넘하지만 실제로 플레티넘이면 꽤나 실력이 좋은 유저들이다. 현실적으로 게임을 참고하고 적용하기도 좋다고 생각하여 플레티넘 유저들을 대상으로 데이터를 수집할 것이다. 그중에서도 1,2,3티어의 유저들 4티어는 '주차'라는 형태로 더..

프로그래머스 - 부족한 금액 계산하기

https://programmers.co.kr/learn/courses/30/lessons/82612 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 프로그래머스에 위클리챌린지라는 것이 생겼다. 좋아요를 많이 받은 1등한테 만원의 문화상품권이 지급된다고 하는데 보통 좋아요를 많이 받는 사람들을 보면 극도로 코드를 압축해놓은 사람들이다. 개인적으로 직관적이지 못하기 때문에 개인 작업 시에는 유용할 지 몰라도 협업하는 과정에선 힘들 것 같다. 난 나만의 코딩을 한드아 문제 설명 새로 생긴 놀이기구는 인..

코딩테스트 2021.08.04

어떤 티어의 유저들을 가져올까?

롤 데이터를 수집하기에 앞서 데이터의 양이 너무나도 방대하기 때문에 어떤 티어의 유저를 수집할 것인지 정하는 것이 좋다. 나는 승리예측 or 피드백 모델을 만드려고 하고 있는데 내가 현재 골드이므로... 플레티넘 유저들의 정보를 찾아보는 것이 좋다고 생각했다. 챌린저, 그랜드마스터, 마스터의 경우는 피지컬 부분도 꽤나 크게 작용하고 실질적으로 다이아보다는 플레티넘이 현실적으로 알맞다고 생각하였다. 플레티넘에서도 플레티넘 1,2,3의 유저들을 가져오려 한다. 라이엇에서는 실제로 랭크별 유저들의 정보도 API를 통해서 제공하고 있다. LEAGUE-EXP-V4 API에서 'queue', 'tier', 'division'을 설정해주면 페이지별로 유저들의 정보가 나온다. 이런 식으로! 데이터를 모두 저장하는 코드..

728x90