본문 바로가기

분류 전체보기521

[ 파이썬(python) ] 백준 1244 - 스위치 켜고 끄기 📍 백준 1244 - 스위치 켜고 끄기 백준 1244 - 스위치 켜고 끄기 ⚡️ 나의 풀이 문제가 조금 길었지만, 핵심 포인트는 다음과 같다. 남학생: 자기가 받은 수의 배수인 스위치 번호의 상태를 바꾼다. 여학생: 자기가 받은 수와 같은 번호인 스위치 번호를 중심으로 좌우가 대칭이면서 가장 많은 스위치를 포함하는 구간의 상태를 모두 변경한다. 그리고 처음에 index를 편하게 보기 위해 arr[0]에 이 문제와 관련 없는 값인 -3333을 넣었다. 남학생의 경우는 index가 배수인 경우를 찾을 때 if not i % target과 같은 방법을 사용했는데 그럴 필요 없이 시작점을 target으로 하여 for i in range(target, n+1, target)을 선언하면 배수의 index만 출력 할.. 2021. 5. 31.
[ 파이썬(python) ] 백준 2490 - 윷놀이 📍 백준 2490 - 윷놀이 백준 2490 - 윷놀이 ⚡️ 나의 풀이 윷짝들의 상태를 보고 도(A), 개(B), 걸(C), 윷(D), 모(E)를 판별하는 문제다. 윷짝들을 구성하는 값은 0 또는 1 임을 알 수 있다. 하지만 윷짝들이 주어질 때 0과 1의 순서가 뒤바뀔 수 있음을 인지하자. 나는 총 2가지 방법으로 풀었는데 주어지는 각각의 줄마다 합(sum)을 구해 출력을 구분했다. 0과 1의 개수를 파악하도록 count함수를 사용했다. 정답판정을 받고 다른 사람의 코드를 봤는데 1번의 sum은 입력을 받을 때 한 번에 선언해줘도 됐고, 2번의 count는 0과 1 둘 다 할 필요없이 둘 중에 하나만 해줘도 구분이 가능했다. # sum yut = [list(map(int, input().split())).. 2021. 5. 30.
[ 파이썬(python) ] 백준 3009 - 네 번째 점 📍 백준 3009 - 네 번째 점 백준 3009 - 네 번째 점 ⚡️ 나의 풀이 수학적으로 어떻게 풀어야 할지 많은 고민을 했는데 결론적으로 각각의 입력 중에서 입력[0]만을 모아둔 리스트 column, 입력[1]만을 모아둔 리스트를 row라고 했을 때, 세 줄의 입력 중 입력[0]만을 생각했을 때 두 개의 입력[0]이 같은 값이면 나머지 한 개와 임시로 선언한 `a`값이 같은 값이 되어야 하고 반대로 입력[1]만을 생각했을 때 나머지 한개와 `b`도 같은 값이 되어야한다. 나는 이런방식으로 풀었다. defaultdict를 선언한다. 입력[0]번만 모아놓은 column 리스트와 입력[1]번만 모아놓은 row 리스트를 선언한다. value만큼 +=1 을 해준다. index가 1개인 column_dict와 .. 2021. 5. 30.
[ 리액트(React) ] 객체 내의 객체(이중객체)를 구조분해할당 하기 📍 객체 내의 객체를 구조 분해 할당(Double Destructuring Assignment) 하기 만약, A학생의 성적표와 기타 점수를 갖고있는 객체(Object)가 있다고 가정해보자. 그리고 alert 함수에서 DEFAULT_SCORE를 인자로 받고, 이때 subjects의 객체만을 구조분해할당을 하고 싶다면 다음과 같이 선언할 수 있다. // @ param { Object } const DEFAULT_SCORE = { subjects : { korean : 80, math : 85, english: 80 }, etc : { attitude: 90, volunteer: 95 }, } const alert = ( DEFAULT_SCORE ) => { const { subjects: {korean, m.. 2021. 5. 29.
[ 파이썬(Python) ] 2차원 행렬에서 세로(column) 열만 추출하기 📍 2차원 행렬에서 세로(column) 열만 추출하기 1부터 25까지 순서대로 있는 5 * 5행렬에서 세로 (열(column))만 추출하는 방법을 알아보자. 총 3가지 방법으로 2중 반복문, lambda, zip함수를 사용했다. (더 좋은 방법이 있으면 댓글로 알려주세요!!) 결과는 모두 동일하다. # 1 ~ 25까지 배열 만들기 arr = [[0] * 5 for _ in range(5)] cnt = 0 for i in range(5): for j in range(5): cnt += 1 arr[i][j] = cnt # 2중 반복문 result = [[arr[j][i] for j in range(5)] for i in range(5)] # lambda 함수 result = [list(map(lambda x.. 2021. 5. 28.