본문 바로가기

set5

다른 사람의 풀이 - Python, set, ascii_lowercase https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각 a ~ z까지의 값을 구하는 방법은 두가지가 있습니다. 1. 아스키값으로 구하기 2. string.ascii_lowrcase 사용하기  1. 아스키값으로 구하기 소문자 a의 아스키코드는 97, z는 122입니다. 그래서 97부터 122까지의 돌면서 리스트에 저장하면 a ~ z까지를 구할 수 있습니다.  2. string.ascii_lowercase 사용하기 단순합니다. from string import ascii_low.. 2024. 11. 15.
안전지대 - Python, 구현, set https://school.programmers.co.kr/learn/courses/30/lessons/120866?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각 단순하게 반복문 돌려가면서 구해도 되고 폭탄의 범위를 set으로 저장 후 전체 칸 - set의 길이 = 정답 을 구해도 된다. 코드 def boom(board, x, y): di = [(-1,-1), (-1, 0), (-1, 1), (0, -1), (0, 1),(1,-1), (1, 0), (1, 1)] for dx, dy in di: nx, ny = x + d.. 2024. 11. 13.
체육복 - Python, set https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 - 나의 생각set의 차집합을 이용해서 체육복을 빌려 줄 수 있는 경우를 체크합니다. 이미 여분이 있는 경우에도 차집합을 통해 자동으로 걸러집니다. 코드 def solution(n, lost, reserve): real_lost = set(lost) - set(reserve) real_reserve = set(reserve) - set(lost) for no in sorted(real_reserve): .. 2024. 11. 12.
코딩테스트 연습 > 롤케이크 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 Set을 통해 주어진 Topping의 가짓수를 세면 편합니다. 위의 그림처럼 왼쪽, 오른쪽 각각의 방향에서 가짓수를 체크합니다. 그 후에 롤케이크를 잘랐을 때 가짓수가 같은 경우를 세면 정답을 알 수 있습니다. 주의할 점은 왼쪽의 인덱스가 2일 경우는 0 ~ 2까지의 토핑 가짓수입니다. 오른쪽의 인덱스가 2일 경우 2 ~ n까지의 토핑 가짓수입니다. 그렇기때문에 두 경우를 비.. 2024. 1. 12.
코딩테스트 연습 > 연속 부분 수열 합의 개수 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/131701 풀이 - 나의 생각 이 문제를 풀기 위한 포인트!!!! 1. 중복 제거 2. 한 바퀴 돌리기 1. 중복 제거 Set 쓰면 해결!! 2. 한 바퀴 돌리기 이중 for문 쓰면서 해결했는데 결국에는 주어진 배열을 넘어가면 처음으로 넘어가는 게 중요 처음에는 index = i+j >= arr.length ? (i+j)-arr.length : i+j 이런 식으로 했는데 index = (i+j)%arr.length 이렇게 하면 더 간단하게 해결 할 수 있었다. 테스트 결과 속도도 더 빨랐다. ( 조건 검사를 할 필요가 없으니까) 이외..... 처음에는 더해지는 값들을 저장하기 위해 반복문 안에서 in.. 2023. 12. 28.