Dia Egg - Shugo Chara
728x90
반응형

분류 전체보기 144

딕셔너리 key, value값으로 정렬, 딕셔너리 리스트로 만들기

딕셔너리 key, value값으로 정렬 1. key값으로 정렬하는 방법(d가 원래의 딕셔너리) 만약 d2 = sorted(d) 로 한다면 value값이 빠지고 key값만 정렬된 리스트를 얻게 된다 따라서 맞는 코드는 이렇게! d1 = dict(sorted(d.items()) sorted(d.items()만 하면 리스트의 형태가 되기때문에 딕셔너리 형태로 바꿔줘야한다 내림차순으로 정렬하고 싶다면 reverse = True만 붙여주면 된다. 바로 이렇게! d1 = dict(sorted(d.items(), reverse = True) 2.value값으로 정렬하는 방법(d가 원래의 딕셔너리) d1 = sorted(d.items(), key=lambda x:x[1]) 내림차순으로 정렬하고 싶다면 reverse =..

Algorithm/TeamNote 2023.06.12

(Python) 배열, 리스트, 튜플, 세트, 딕셔너리 헷갈리는 것 총 정리

계속 list가 아니다 튜플이다 오류를 내보내길래 킹받아서 이참에 헷갈렸던 모든 개념을 정리하고 가고자한다..오히려 좋아!! 배열(array) 먼저 python 자체에서는 배열(정적 할당)을 지원하지않는다..! 배열인 Array는 NumPy라는 외부 라이브러리를 사용하여 따로 지원하도록 해줘야한다고 한다. 내가 그동안 문제 풀면서 2차원 배열 2차원 배열...했던 것들이 모두 2차원 리스트 엿던..어쩐지 헷갈린다했다. (물론 언어적 의미의 배열의 의미에서는 적절할 수도) 리스트(list) 사용하는 괄호 : 대괄호 [ ] 선언방식: a = [1,2,3] 가져오는 방식: a[0] 튜플(tuple) 사용하는 괄호 : 소괄호() 선언방식1 : a=(1, 2, 3) 선언방식2 : a = 1, 2, 3 가져오는 방..

Algorithm/TeamNote 2023.06.11

(기출 / 구현) 자물쇠와 열쇠

자물쇠와 열쇠 https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해답의 풀이과정은 다음과 같다. 1. 자물쇠 리스트의 크기를 3배로 한다. 2. 4가지 방향으로 돌려본다. 3. 각 방향에서 key의 리스트 값을 더하고 가운데(원래 자물쇠값)가 모두 1을 만족하는 지 확인한다. =각 수순에 따라 아래 더 자세하게 설명했다. 1. 자물쇠 리스트의 크기를 3배로 하는 이유는 아래와 같다. 키의 크기에 맞추어 좀 더 메모리 효율성있게 만들 수 있었..

2차원 리스트를 돌리기(rotate_a_matrix_by_90_degree())

나동빈님의 '이것이 코딩테스트다'를 풀다가 2차원 리스트를 시계방향으로 90도 돌리는 함수를 만들어야하는 상황에 처했다.(두둥) 책에는 간단하게 식만 나와있었는데 외울 수는 있었지만 앞으로 계속 쓰려면 머리속으로 단단히 이해해두는게 좋을 거라고 생각해 이렇게 정리하는 글을 쓴다. 혹시 나와 같은 상황을 겪는 읽은이가 있다면 도움이 되기를..! 결국 코드는 아래와 같다! #2차원 리스트를 시계방향으로 90도 회전시키는 함수 def rotate_a_matrix_by_90_degree(a): n = len(a)#기존 2차원 리스트 행 길이 구하기 m = len(a[0])#기존 2차원 리스트 열 길이 구하기 new_list = [[0]*n for _ in range(m)] for i in range(n): fo..

Algorithm/TeamNote 2023.06.07

(기출 / 구현) 문자열 압축

문자열 압축 프로그래머스 문제와 동일함 - 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음 구조를 어떻게 잡아야 할까 고민이 크게 되었다. 일단 1~len(s)까지 단위로 잘라서 각자의 총 길이 최소값을 비교하여 min값에 저장하고 최종적으로 저장된 min 값을 제출한다는 개념을 잡았다. 다음으로는 남은 문자가 비교할 수 없이 짧은 경우와 비교가능한 경우로 나누고 각각을 n==1인경우와 그렇지 않은 경우로 나누어서 구현 하였..

(기출 / 구현) 문자열 재정렬

문자열 재정렬 알파벳 대문자와 숫자(0 ~ 9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다. 예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다. 입력 조건 첫째 줄에 하나의 문자열 S가 주어집니다. ( 1≤ S의 길이 ≤ 10,000 ) 출력 조건 첫째 줄에 문제에서 요구하는 정답을 출력합니다. 입력 1 K1KA5CB7 출력 1 ABCKK13 입력 2 AJKDLSI412K4JSJ9D 출력 2 ADDIJJJKKLSS20 풀이 숫자를 더하는 변수와 알파벳을 모으는 변수를 분리시켰다. 어차피 알파벳은 sort함수로 한번에 정렬할 수 있으니 그냥 알파벳인가 아닌가에 따라 appe..

(기출 / 구현) 럭키 스트레이트

럭키 스트레이트 게임의 아웃복서 캐릭터는 필살기인 '럭키 스트레이트' 기술이 있습니다. 이 기술은 매우 강력한 대신에 게임 내에서 점수가 특정 조건을 만족할 때만 사용할 수 있습니다. 특정 조건이란 현재 캐릭터의 점수를 N이라고 할 때 자릿수를 기준으로 점수 N을 반으로 나누어 왼쪽 부분의 각 자릿수의 합과 오른쪽 부분의 각 자릿수의 합을 더한 값이 동일한 상황을 의미합니다. 예를 들어 현재 점수가 123,402라면 왼쪽 부분의 각 자릿수의 합은 1 + 2 + 3, 오른쪽 부분의 각 자릿수의 합은 4 + 0 + 2이므로 두 합이 6으로 동일하여 럭키 스트레이트를 사용할 수 있습니다. 현재 점수 N이 주어지면 럭키 스트레이트를 사용할 수 있는 상태인지 아닌지를 알려주는 프로그램을 작성하세요. 입력 조건 첫..

(실전/구현) 게임 개발

게임 개발 현민이는 게임 캐릭터가 맵 안에서 움직이는 시스템을 개발 중이다. 캐릭터가 있는 장소는 1 X 1 크기의 정사각형으로 이뤄진 N X M 크기의 직사각형으로, 각각의 칸은 육지 또는 바다이다. 캐릭터는 동서남북 중 한 곳을 바라본다. 맵의 각 칸은 (A, B)로 나타낼 수 있고, A는 북쪽으로부터 떨어진 칸의 개수, B는 서쪽으로부터 떨어진 칸의 개수이다. 캐릭터는 상하좌우로 움직일 수 있고, 바다로 되어 있는 공간에는 갈 수 없다. 캐릭터의 움직임을 설정하기 위해 정해 놓은 매뉴얼은 이러하다. 현재 위치에서 현재 방향을 기준으로 왼쪽 방향(반시계 방향으로 90도 회전한 방향)부터 차례대로 갈 곳을 정한다. 캐릭터의 바로 왼쪽 방향에 아직 가보지 않은 칸이 존재한다면, 왼쪽 방향으로 회전한 다음..

Type Error: list indices must be integers or slices, not tuple

Type Error: list indices must be integers or slices, not tuple 오류가 나타났다... 나타난 문장은 바로 Type Error: list indices must be integers or slices, not tuple if data[nx,ny]==0 and check[nx,ny] == 0: 이것.. 받아올때는 data = [list(map(int, input().split()) for _ in range(n))] 가독성을 위해 한 줄로 된 이 코드를 사용했다. 난 튜플 사용안했는데 왜... 라고 생각했으나 if data[nx,ny]접근이 아니라 data[nx][ny]였다....킥....해결완료..

728x90
반응형