🚀 PS

💡 파이썬 2차원 배열 회전하기 zip() 사용하기 : 시계 방향으로 회전 mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] new_list = list(map(list, zip(*mylist[::-1]))) for i in mylist:# 기존 리스트 print(i) print() for i in new_list:# 회전한 리스트 print(i) 실행결과 [1, 2, 3] [4, 5, 6] [7, 8, 9] [7, 4, 1] [8, 5, 2] [9, 6, 3] zip() 사용하기 : 반시계 방향으로 회전 mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] new_list = list(map(list, zip(*mylist)))[::-1] for i i..
https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 💡 문제 풀이 접근 방법 1. numbers 리스트를 str로 형 변환 후, 정렬 str형 숫자를 비교하면 0번 인덱스부터 비교, 그다음 1번 인덱스 비교, 그다음 2번 ,... ( 9 > 738 > 5 > 4589 > 333 > 24 > 1 이런 느낌 ) 2. str로 변경한 숫자에 3을 곱한 값을 기준으로 재정렬 34, 30, 3 같은 경우에 34, 3, 30 순으로 와야 함 number..
https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 💡 문제 풀이 이분 탐색 이분 탐색 : 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 접근 방법 찾고자 하는 시간을 범위로 하여 이분 탐색 임의의 시간 동안 몇 명을 심사할 수 있는지 확인 left : min(times) -> n이 1일 경우를 고려 right : n*min(times) 💻 문제 코드 def solution(n, times): left, righ..
https://school.programmers.co.kr/learn/courses/30/lessons/12914?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 프로그래머스 Lv2. 2xn 타일링 문제하고 매우 비슷한 문제입니다. DP 기초 문제입니다. n =5까지 값을 구하면 점화식을 쉽게 세울 수 있습니다. f(n) = f(n-1) + f(n-2) def solution(n): dp = [0]*2001 dp[1]=1 dp[2]=2 for i in range(3,n+1): dp[i] = dp[i-1]%123..
https://school.programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제풀이 DP로 풀어야 겠다는 생각을 하기까지 좀 걸린 문제였습니다.. 아마 DP로 풀지 않으면 효율성 테스트에서 통과되지 않을거에요! 현재 위치 값이 1일 경우, 왼쪽 대각선 위, 위, 왼쪽 중 최솟값을 찾아 1더해서 저장합니다. 다음 과정을 계속 반복하면 이런 배열 모습이 나옵니다. 배열에 저장된 값중 최댓값을 찾아 출력하면 됩니다. 풀이 코드 def solution(board): ..
[프로그래머스] Lv.2 리코쳇 로봇 - 파이썬(Python) 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 리코쳇 로봇이라는 보드게임이 있습니다. 이 보드게임은 격자모양 게임판 위에서 말을 움직이는 게임으로, 시작 위치에서 목표 위치까지 최소 몇 번만에 도달할 수 있는지 말하는 게임입니다. 이 게임에서 말의 움직임은 상, 하, 좌, 우 4방향 중 하나를 선택해서 게임판 위의 장애물이나 맨 끝에 부딪힐 때까지 미끄러져 이동하..
[Baekjoon] 단계별로 풀어보기 | 1차원 배열 | 8959 OX퀴즈 8958 OX퀴즈 파이썬 코드 답안 N= int(input()) for i in range(N): list=input() cnt=0 sum=0 for j in range(len(list)): if list[j]=='O': cnt+=1 if list[j]=='X': cnt=0 sum+=cnt print(sum) O, X로 이루어진 문자열을 list로 받기 list길이만큼 반복하고 list의 첫 번째 문자부터 O일 경우 cnt+1, X일 경우 cnt 0 초기화 틀린 내용이 있다면 댓글로 알려주세요 :) 문제의 자세한 내용은 백준 사이트를 확인해주세요 ;)
[Baekjoon] 단계별로 풀어보기 | 1차원 배열 | 1546 평균 1546 평균 파이썬 코드 답안 N= int(input()) list = list(map(int,input().split())) list1 = [i/max(list)*100 for i in list] print(sum(list1)/N) 작성한 코드 내용 N에다가 시험 본 과목의 개수를 입력 받습니다 list에다가 점수들을 입력받고 list1에다가 점수들을 문제에 맞게 연산해서 리스트로 만들어줬습니다 출력은 list1의 평균이 나오도록 했습니다 이번 문제는 연산 부분만 잘 작성하면 될 거 같아요 틀린 내용이 있다면 댓글로 알려주세요 :) 문제의 자세한 내용은 백준 사이트를 확인해주세요 ;)
[Baekjoon] 단계별로 풀어보기 | 1차원 배열 | 3052 나머지 3052 나머지 파이썬 코드 답안 list =[0 for _ in range(10)] for i in range(10): list[i]=int(input())%42 print(len(set(list))) 10개의 수를 입력받은 뒤, 그 값과 42로 나눈 나머지 중에 서로 다른 값이 몇 개 있는지 출력하는 문제 일단 전에 풀었던 문제랑 비슷하게 숫자들을 카운트 해야하기 때문에 리스트 하나 만들어 줍니다 반복문을 보자면, 리스트 인덱스 0부터 9까지 입력 받은 값에서 42를 나눈 나머지 값 대입 리스트를 set()함수에 넣어 중복된 건 없애버렸습니다 그리고 그 리스트의 인덱스 길이를 출력시켰어요 그런데 set(list) print(le..
[Baekoon] 단계별로 풀어보기 | 1차원 | 배열 2577 난이도가 코드업 기초 100제 종합 문제 정도로 올라간 느낌입니다. 천천히 풀어보도록 하겠습니다 2577 숫자의 개수 파이썬 코드 답안 A= int(input()) B= int(input()) C= int(input()) N=A*B*C list = [0 for j in range(10)] for i in range(9): list[(N%10)]+=1 N=int(N/10) if N==0: break for i in range(10): print(list[i]) 숫자 0~9 체크할 때는 리스트를 이용해서 많이들 하는 거 같아요 저도 비슷한 방법으로 작성해 보았습니다 반복문 코드를 보자면, N을 10으로 나눈 나머지 -> N의 일의 자리 N의 일..
늘코딩
'🚀 PS' 카테고리의 글 목록