구현
[PG42888] 오픈채팅방
https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 🚩 문제 설명 ◾ 오픈채팅방의 사용자 로그를 찍는 문제 ◾ 명령어 Enter: 오픈채팅방 입장 Change: 오픈채팅방 닉네임 변경 Leave: 오픈채팅방 퇴장 ◾ 닉네임 변경 방법 2가지 채팅방을 나간 후 ➡ 새로운 닉네임으로 다시 입장 채팅방에서 닉네임 변경 ◾ 명령어에 따라서 메세지가 출력이 되고 해당 메세지들을 유저 닉네임에 맞게 출력해야한다. ◾ 명령어..
[TC0402] [구현] 시각
✅ 이것이 코딩 테스트다 - 시각 n = int(input()) ans = 0 for hour in range(n+1): for min in range(60): for sec in range(60): if "3" in str(hour) + str(min) + str(sec): ans += 1 print(ans) ◾ Implementation ◾ 00시 00분 00초 ~ N시 59분 59초 중에서 ( 0
[TC0401] [구현] 상하좌우
✅ 이것이 코딩 테스트다 - 상하좌우 n = int(input()) # 사각형의 크기 maps = [i for i in map(str, input().split())] # 여행자 계획 loc = { 'L': [0, -1], 'R': [0, 1], 'U': [-1, 0], 'D': [1, 0] } x, y = 1, 1 # 시작 좌표 for j in maps: if j == 'L': if y == 1: y += 0 else: y += loc['L'][1] x += loc['L'][0] elif j == 'R': if y == n: y += 0 else: y += loc['R'][1] x += loc['R'][0] elif j == 'U': if x == 1: x += 0 else: x += loc['U'][..
[PG64061] 크레인 인형뽑기 게임
🚩 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr ◾ N x N의 격자가 주어진다. ◾ 각 인형은 아래에서부터 차곡차곡 쌓여있다. ◾ 게임 사용자는 크레인을 좌우로 움직여서 인형을 뽑을 수 있다. ◾ 그리고 오른쪽의 빈 바구니에 인형을 담을 수 있다. ◾ 인형을 뽑고 오른쪽 바구니에 연속된 인형이 담겨졌을 시 두 인형이 터트려져 사라지게 된다. ◾ 인형이 없는 곳에서 크레인을 작동시키면 아무런 일도 일어나지 않는다. ◾ 터..
[PG67256] 키패드 누르기
🚩 문제 설명 ◾ 키패드를 누를 때 어떤 손의 엄지손가락을 쓰는지 구하는 문제이다. ◾ 키패드가 1, 4, 7에 해당하면 왼쪽 손을 쓴다. ◾ 키패드가 3, 6, 9에 해당하면 오른쪽 손을 쓴다. ◾ 키패드가 그 외의 수 2, 5, 8, 0에 해당하면 현재 키패드에서 더 가까운 엄지손가락을 쓴다. 만약 그 거리가 같다면 사용자의 주 손잡이 방향을 쓴다. 이는 hand 배열로 주어진다. 왼손, 오른손의 위치를 표시를 해야하구나 생각을 한다. ◾ 여기서 주의할 점은 (문제 안풀려서 필자가 개고생한 점 😅) 거리가 나온다면 키패드간의 피타고라스 증명을 써서 거리를 구하려는 사람이 많은데 문제를 보면 단순 위치에서의 거리를 이른다. 즉 무슨 말이냐면, 위처럼 1, 2, 5의 키패드가 있다고 하자. 만약 5를 눌..