본문 바로가기

Algorithm231

[프로그래머스 lv1] 대충 만든 자판 사용 언어 - Python3 문제 - 대충 만든 자판 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 새 def 함수를 만들어 활용하기 (정답 맞춘 여부 X) 1. 인덱스 반환 함수 ,check(keylist,character) keylist에서 character의 인덱스를 찾아 값을 반환해주는 함수 1부터 시작하기 때문에 +1을 해준다. 2. 각 target의 글자들에 대해 character로 저장한후, 각 key 값에 포함되어 있는 지 확인한다. if character in set(keylist): cur = min(cur, check(keylis.. 2023. 4. 24.
[프로그래머스 lv1] 덧칠하기 사용 언어 - Python3 문제 - 덧칠하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 큐를 활용해서 리스트 안에서 인접한 두개의 값 비교하기 (정답 맞춘 여부 X) 1. deque(section) 2. 가장 왼쪽 값부터 없애주면서 start 3. start에서 m만큼 더한 값(페인트 롤러 범위) > section 리스트원소의 두번째 값(첫번째 값은 없어짐) section[0] 페인트 롤러 범위 안에 section 리스트 안 다른 원소도 포함되어 있다면 그 값도 없애준다. from collections import deque def soluti.. 2023. 4. 24.
[프로그래머스 lv1] 바탕화면 정리 사용 언어 - Python3 문제 - 바탕화면 정리 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 for문 (정답 맞춘 여부 O) 1. #의 위치를 x,y 리스트 에 저장한다. 2. (세로좌표, 가로좌표)로 표현해 출력한다. def solution(wallpaper): x, y = [], [] for i in range(len(wallpaper)): for j in range(len(wallpaper[i])): if wallpaper[i][j] == "#": x.append(j) y.append(i) return [min(y),min(x),max(y.. 2023. 4. 24.
[프로그래머스 lv1] 공원 산책 사용 언어 - Python3 문제 - 공원 산책 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 복잡한 for문 (정답 맞춘 여부 X) 1. 시작지점 S를 찾아 x,y좌표에 저장한다. 2. 현재위치를 xx, yy에 저장한다. 각 방향으로 xx, yy를 한 칸씩 이동한다. 0부터 max_x,max_y 사이에 좌표가 있어야 하고, 이동하는 위치에 장애물 X가 없는 경우에만 한칸씩 이동한다. 전부 이동했다면, 최종 xx,yy 위치를 x,y에 저장해준다. 4. [세로방향좌표, 가로방향좌표] = [y,x] 출력 def solution(park, routes):.. 2023. 4. 24.
[프로그래머스 lv1] 추억 점수 사용 언어 - Python3 문제 - 추억 점수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 for문을 활용하기 (정답 맞춘 여부 O) def solution(name, yearning, photo): answer = [] for p in photo: total = 0 for i in range(0,len(p)): for j in range(0,len(name)): if p[i] == name[j] : total += yearning[j] answer.append(total) return answer 레퍼런스 정답 깃허브 GitHub - yyeon.. 2023. 4. 22.
[프로그래머스 lv1] 삼총사 사용 언어 - Python3 문제 - 삼총사 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 for문을 활용하기 (정답 맞춘 여부 O) def solution(number): answer = 0 for i in range(len(number)-2): for j in range(i + 1, len(number)-1): for k in range(j + 1, len(number)): if number[i] + number[j] + number[k] == 0: answer += 1 return answer 레퍼런스 정답 참고 [프로그래머스 파이썬] 달리기 .. 2023. 4. 22.
[프로그래머스 lv1] 달리기 경주 사용 언어 - Python3 문제 - 달리기 경주 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 딕셔너리를 활용한 인덱스 찾기 (정답 맞춘 여부 X) 현재 위치 : 현재 위치의 선수 현재 선수 : 현재 선수의 위치 두개의 딕셔너리를 만들어 각 위치의 선수를 바꿔주고, 각 선수의 위치를 바꿔준다. idx.values()로 player 값만 출력해 list형태로 반환한다. def solution(players, callings): idx = {i:player for i, player in enumerate(players)} p = {player:i fo.. 2023. 4. 22.
[프로그래머스 lv3] 여행경로 사용 언어 - Python3 문제 - 여행경로 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 큐를 활용한 BFS 문 (정답 맞춘 여부 X) q.append(("ICN",["ICN"],[])) = 출발지점airport, 경로path, 지나간 여부used for idx, ticket in enumerate(tickets)를 활용한다. ticket 첫번째 값이 airport이고, idx가 지나가지 않았다면, q.append((ticket[1], path+[ticket[1]], used+[idx]))2. 출발지점을 도착지점으로 바꿔주고, 경로에 도착지점을 .. 2023. 4. 22.
[프로그래머스 lv3] 단어 변환 사용 언어 - Python3 문제 - 단어 변환 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 큐를 활용한 이중 for문 (정답 맞춘 여부 X) 1. 예외처리 원하는 target 값이 words 리스트에 없는 경우, 0을 return 한다. 2. q = deque() 활용 q.append([begin, 0]) = q에 [시작값, 변환횟수] 형태로 입력한다. 각 원소를 x, cnt로 저장하여 while 문에서 처리 words 리스트에서 한 단어씩 확인하면서 x 값과 비교해준다. x[j] != word[j] j번째 알파벳이 다른 경우, diff += 1.. 2023. 4. 22.
[Python3] 백준 1697번 숨바꼭질 사용 언어 - Python3 문제 - 숨바꼭질 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 정답 BFS 재귀함수 (정답 맞춘 여부 X) from collections import deque def bfs(): q = deque() q.append(n) while q: x = q.popleft() if x == k: print(dist[x]) break for nx in (x-1,x+1,x*2): if 0 2023. 4. 19.