Algorithm/Implementation 4

[python] 프로그래머스 level 2. [1차] 프렌즈4블록

문제 https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 - 반복문을 통해서 2x2 크기의 정사각형 안의 4개 값이 모두 같다면 set에 넣어준다. (향후 중복된 좌표 없애주기 위해 set 사용) - set에 있는 좌표 값들은 '0' 처리 - 없어진 블록들은 아래로 땡겨준다. - 첫번째에서 찾은 블록의 갯수가 0개면 더 이상 블록을 없앨 수 없기 때문에 while문을 멈추고, 그동안 없앤 블록 갯수를 return 코드 def find_bloc..

[python] 프로그래머스 level2 과제 진행하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 stack을 사용한 구현풀이 시간내에 과제를 끝낸 경우에 stack을 거꾸로 순회하면서 과제를 수행한다. 마지막 과제에 도달했을 경우 stack에 남은 아직 수행하지 못한 과제를 거꾸로 순회하면서 수행해준다. 코드 def solution(plans): ans = [] for plan in plans: t,m = map(int, plan[1].split(":")) plan[1] = t*..

[python] codetree Gold 3. 메이즈러너 (삼성 SW 역량테스트 상반기 오후 1번)

문제 https://www.codetree.ai/training-field/frequent-problems?page=3&pageSize=20 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 최고의 알고리즘 전문가들이 체계적인 코딩테스트 문제 유형 분류와 학습 커리큘럼을 제시합니다. 알고리즘 학습의 A to Z를 경험해보세요! www.codetree.ai 접근 갖가지 조건들을 다 붙혀논 문제라 구현하기 너무 힘들었다 ㅠ 특히 특정 정사각형을 선택하고, 그 부분만 회전하는 것을 코드로 짜는게 매우 어려웠다. 만약, 2차월 배열 전체를 시계방향 90도 회전한다면 1 (0,0) 2 (0,1) 3 (0,2) 4 (1,0) 5 (1,1) 6 (1,2) 7 (2,0) 8 (2,1) 9 (2,2) 7 (0,0) 4 ..

[python] 백준 Gold 5 21610. 마법사 상어와 비바라기

문제 https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 접근 구현 문제 HTML 삽입 미리보기할 수 없는 소스 위 조건을 주어진 방향으로 거리만큼 이동한 좌표를 n 으로 나눈 나머지를 계산해서 구하고, 음수인 경우 +n 을 해주는 것으로 cloud 좌표를 구할 수 있다. cloud 좌표를 list말고 tuple로 넣어주면 시간초과에 걸리지 않았음. 코드 import sys input = sys.stdin.readline direction ..