전체 글

주저리주저리
알고리즘/Python

[python] 프로그래머스 - 단어 변환

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 이 문제는 오답인 풀이가 정답으로 통과되는 경우가 있다. 잘 체크해 볼 것. 더보기 BFS 풀이 : 틀림 def calcDistance(x, y): count = 0 for i in range(len(x)): if x[i] != y[i]: count += 1 return count..

알고리즘/Python

[python] 프로그래머스 - 네트워크

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 더보기 BFS 반복문 풀이 def solution(n, computers): #BFS visited = [False for _ in range(n)] count = 0 stack = [] for index in range(n): if not visited[index]: count += 1 stack.append(ind..

일상

2022.06.27

열판도 안했는데 첫 우승.....이런건 남겨놔야지. 그 김에 블로그 스킨도 바꿨다. 사실 티스토리 스킨이 너무 마음에 안 들어서 깃허브 블로그를 대충 만들어 놓고 언제 이사할까 고민중이었는데 사용자 스킨이 되더라.........너무 마음에 든다. 물론 깃허브가 글이 하나의 커밋이 된다는 점에서 엄청난 이점이 있긴한데, 매일매일 억지로 하는 것보다 열중할 타이밍에 빡 열중하는게 훨씬 효율도 높기도하고, 무엇보다 오늘 커밋 안했다고 스트레스 받고..... 억지로 적을거리 쥐어 짜내서 스트레스 받고 할 필요는 없을 것 같아서 티스토리에 적어놓은 것들도 있고 하니 그대로 유지하련다.......

토이프로젝트/Boat-Vote

input 비동기 문제 fix하기

GDSC 1차 팀프로젝트였던 투표 SNS, Boat-Vote. 배포까지 완료되었지만 해결하지 못했던 문제가 몇 가지 있어 차례차례 해결해보려 한다. 먼저, input 비동기 문제이다. 문제 상황 위 화면은 투표 게시글 작성 팝업에서 투표 항목을 4개 모두 작성한 화면이다. 이 상황에서 세번째 투표 항목을 지울 경우 1, 2, 3, 4에서 1, 2, 4가 되어야 마땅하지만, 1, 2, 3으로 표시되는 문제가 발생하였다. 그와중에 state는 1, 2, 4로 정상적으로 들어가있어 게시글 등록 시에는 1, 2, 4로 정상적으로 나왔다. 즉, state가 변해도 input의 값이 갱신되지 않는 문제가 발생하였다. 원인 파악 원인을 파악하기 위해 3번째 input box의 디자인만 변경한 채로 3번째 input을..

알고리즘/기타

백준 허브를 통해 깃허브에 풀이 자동 업로드 하기

알고리즘 문제를 풀다보면 깃허브에 일일이 코드를 올리는 것이 귀찮을 때가 있습니다. 물론 커밋을 관리한다거나 신경을 많이 쓰는 입장에서는 일일이 올리는게 꼼꼼하고 좋을 수 있습니다만, 저 같은 경우는 이를 매우 귀찮아해서 실제로 깃허브에 올라간 풀이는 많지 않습니다. 문제를 풀고 별도로 올리는 과정을 수행해야한다는게 그다지 매끄럽지 못하지 않나요? 일단 저는 그렇습니다. 모든 발명의 시작은 귀찮음인 만큼, 어떤 개발자분께서 풀이 코드를 자동으로 업로드 해주는 크롬 익스텐션을 만들었습니다. 바로 이름도 위대한 '백준 허브'입니다. 비슷한 PS 사이트인 LeetCode의 LeetHub에서 파생된 프로젝트인데 이 익스텐션을 사용하면, 알고리즘 사이트에서 문제를 품과 동시에 내가 지정한 레퍼지토리로 코드가 자동..

Frontend/기타

웹소켓(WebSocket) 테스트 사이트

Online WebSocket & Socket.io Tester - PieSocket Realtime Recent use cases, blogs, tutorials and stories. www.piesocket.com REST API는 그냥 링크를 타고 들어가면 json 형태의 응답을 바로 볼 수 있어 어떤 응답이 들어오는지 확인할 수 있지만, 웹소켓의 경우는 여의치 않습니다. 이를 위해 웹소켓을 테스트해볼 수 있는 사이트를 소개하려 합니다. 위에 있는 사이트인데 홈페이지는 다음과 같습니다. 로그인이 별도로 필요하진 않으며 Enter your websocket url and connect 부분에 웹소켓 url을 넣고 Connect 버튼을 누르면 정상적으로 연결 시 아래와 같은 화면이 뜹니다. 이 화면에..

토이프로젝트/chistock

치스톡 v2.0 시작

GDSC에서 프론트앤드 스터디에서 리액트를 처음 학습할 때 진행했던 팀 프로젝트인 치스톡. 지금이라고 많이 성장한 건 아니지만 (기말고사에 치어서 학부 공부하기도 바쁘고) 첫 프로젝트이기도 하고 로고도 직접 만들었고 리드미도 못 적힌 채 남겨두기가 아쉬워서 개인적으로 공부도 할 겸 퍼블리싱을 다시 하고 기능을 추가하며 업그레이드를 진행해보려한다. 시작은 좀 전에 했지만.....진행 도중에 글을 작성하는 이유는, 혼자서 꼬물꼬물 해봐야 아무도 안 알아주기 때문에......... 프로젝트를 발전시켜가며 공부하는 과정을 기록하고자 뒤늦게 글을 적는다. 스터디에서 팀으로 진행했던 버전을 1.0으로, 개인적으로 진행하는 버전을 2.0으로 명명한다. 더보기 치스톡 2.0 현재 퍼블리싱이 진행 중인 치스톡 2.0의 ..

알고리즘/Python

[python] 프로그래머스 - 2 x n 타일링

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/12900 코딩테스트 연습 - 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 programmers.co.kr 더보기 첫 번째 풀이 : 시간초과 def solution(n): dp = [1 for _ in range(n+1)] dp[2] = 2 for i in range(3, n+1): dp[i] = dp[i-1] + dp[i-2] return dp[n] % 1000000007 풀어본 문제라고 생각하고 아무 생각없이 풀..

알고리즘/Python

[python] 프로그래머스 - N-Queens

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/12952 코딩테스트 연습 - N-Queen 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 programmers.co.kr 더보기 풀이 stack = [] #퀸의 좌표를 넣는 공간. answer = 0 #방법의 수 def check(location): mx, my = location for queen in stack: x, y = queen if mx == x or my == y: return False if abs((mx - x..

알고리즘/Python

[python] 백준 16926 - 배열 돌리기 1

출처 : 백준, 더보기 풀이 def Solution(arr, TL, BR, R, bound_length): x1, y1 = TL x2, y2 = BR x = x1 y = y1 dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] index = 0 bound_list = [] for _ in range(bound_length): if x == x2 and y == y1: index+=1 elif x == x2 and y == y2: index+=1 elif x == x1 and y == y2: index+=1 bound_list.append(arr[x][y]) x += dx[index] y += dy[index] bound_list = bound_list[R :] + bound_list[: ..

알고리즘/Python

[python] 프로그래머스 - 행렬 테두리 회전하기

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/77485# 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 오랜만에 돌아온 프로그래머스! 사실 요즘 코딩 테스트를 쳐보려고 마구자비로 자소서를 넣고 후기들을 비공개 포스트로 올리고 있는데 모 회사의 코딩테스트 문제에 비슷한 문제가 출제되어서 풀어보았다. 굉장히 쉬워보이는데 실수할 여지가 많다......... 프로그래머스도 다 풀어봐야겠다.......... 더보기..

알고리즘/JavaScript

[JS] JS 100제 - 별 찍기

출처 : 제주코딩베이스캠프 Code Festival: JavaScript 100제 About Me www.paullab.co.kr 그래. 별 찍기는 문법 고정픽이지. 별 찍기가 없으면 제대로 된 문법 교재가 아니지. 입출력이 나오길래 입력을 좀 해볼까했는데, 코드 작성과 실행을 repl.it 환경에서 주로 테스트를 해보는데 fs모듈이나 readline 같은 입력 모듈이 제대로 기능하지 않더라. 이는 나중에 백준 들어가면 하는걸로 하자......... 더보기 내 풀이 const input = 5; for(let i=1; i=0; k--){ string += ' '; } for(let j=1; j

제주도랏맨
제주도랏맨의 블로그