본문 바로가기

알고리즘 공부/Python15

SW Expert Academy 4881. 배열 최소 합 문제는 여기 한마디 분할된 것은 리스트인가 내 멘탈인가 def RSP(a, b): #가위바위보 관련 함수 if num_list[a] == num_list[b]: return a if num_list[a] == 3 and num_list[b] == 1: return b if num_list[a] == 1 and num_list[b] == 3: return a if num_list[a] > num_list[b]: return a return b def partition(arr): #팀 두개로 나누기 관련 if len(arr)==1: #리스트 크기가 하나이거나 두개일때 그대로, 또는 가위바위보를 해서 리턴 return arr elif len(arr) ==2: res = RSP(arr[0], arr[1]) if.. 2020. 2. 18.
백준 14503 로봇 청소기 문제 링크 한마디 말만 잘들으면 되는게 시뮬레이션인데, 나는 참 말을 안듣는다. 백준에 로봇 청소기 문제가 세 개인데 그 중 A형 기출문제인 문제이다. DFS도 아닌, BFS도 아닌 문제의 디렉션만 따라가서 맞게 해주는 문제다. 다만 주어지는 d의 경우 0, 1, 2, 3 이 각각 북 동 남 서 인데 막상 회전해야 하는 방향은 북 서 남 동 으로 반대인 점을 조심해야 한다. 나는 복잡하게 생각하고 싶지 않아서 회전용 델타 리스트와 첫 바라보는 방향용 델타 리스트를 각각 만들어 주고 회전할 때는 앞 리스트를, 첫 회전 방향을 잡을 때 (ex; 북이면 서부터, 서쪽이면 남부터 등등) 와 후진을 할 때, 새로운 방향으로 갈 때에는 뒤 리스트를 써 주었다. #백준 14503 로봇청소기 dl = [(-1,0),(.. 2020. 2. 17.
SW expert 2382. [모의 SW 역량테스트] 미생물 격리 한마디 미생물 격리에는 성공했지만 메모리도 시간도 다 잃었다. 언제쯤 깔끔한 코딩이 가능할까 아직까지는 DFS/BFS 구현에만 급급해서(루프 안 돌면 너무 행복하다) 메모리랑 시간이랑 최적화 따위는 신경쓰지 않는다. 내가 시간을 신경썼으면 C++했겠죠!!!(못하면서 말이 많다.) 사실 BFS 가 아니고 시뮬레이션 문제인데 요즘 너무 DFS/BFS 에 중독돼서 둘 중 뭔지부터 죽어라 생각해준다. ( 얼마 전에 종이 붙이기 dfs로 3시간동안 풀어놨더니 점화식 문제라서 거의 ㅎ실성해서 웃어서 모두의 걱정을 샀다.) 요즘 그래도 bfs/dfs // DP // 단순 시뮬레이션 중에 어떤 거인지 알면 그 쪽으로 사고의 방향이 한번 잡히니까 구현은 할 수 있는데 특히 DP 문제는 감을 못잡겠다ㅠㅠ 여튼 BFS인줄 .. 2020. 2. 14.