전체 글 50

[릿코드/LeetCode] 206. Reverse Linked List (파이썬3/Python3)

문제 https://leetcode.com/problems/reverse-linked-list/ Reverse Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 생각 우리가 얻을 수 있는 값을 순서대로 작성하면, 1, 2, 3, 4, 5, None. 이 순서로 값이 들어올 것이다. 그렇다면 이를 활용하여 1, 2-1, 3-2-1, 4-3-2-1, 5-4-3-2-1. 이렇게 만들면 될 것 같다! 출력은 이제 None이 들어오게되면 출력하면 될..

문제/릿코드 2021.07.18

[백준/BOJ] 1920번: 수 찾기(파이썬3/Python3)

문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 생각 N개의 정수를 입력받아서 리스트에 저장해둔다. M개의 수를 입력받아서 리스트에 저장해둔 뒤, 순서대로 for문을 돌려 in인지 not in인지 출력하면 끝! 코드 N = int(input()) A = list(map(int, input().split())) M = int(input()) X = list(map(int, input().spl..

문제/백준 2021.07.18

[백준/BOJ] 11004번: K번째 수(파이썬3/Python3)

문제 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 생각 A를 오름차순으로 정렬하고 K-1번째에 있는 원소를 출력하면 끝! 코드 N, K = map(int, input().split()) R = list(map(int, input().split())) R.sort() print(R[K-1])

문제/백준 2021.07.18

[백준/BOJ] 11650번: 좌표 정렬하기 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 생각 리스트로 좌표를 입력받음 x좌표, 그다음 y좌표 순으로 기준을 정함! 출력하면 끄읕 코드 N = int(input()) R = [] for i in range(N): R.append(list(map(int, input().split()))) R.sort(key=lambda x:(x[0], x[1])) for i in R: print(..

문제/백준 2021.07.18

[백준/BOJ] 1427번: 소트인사이드 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 생각 수를 입력받으면 하나하나를 리스트에 저장하고 내림차순으로 정렬! 그다음 join하고 출력 코드 N = input() R = [] for i in N: R.append(i) R.sort(reverse = True) print("{l}".format(l = "".join(R)))

문제/백준 2021.07.18

[백준/BOJ] 11656번: 접미사 배열 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 생각 먼저 문자열을 입력받음 문자열을 슬라이싱하여 리스트에 저장 사전 순으로 정렬한 뒤 출력 코드 S = input() R = [] for i in range(len(S)): R.append(S[i:]) R.sort(key=lambda x:x) for i in R: print(i)

문제/백준 2021.07.18

[백준/BOJ] 1431번: 시리얼 번호 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 1,000보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루 www.acmicpc.net 생각 우선 정렬의 기준이 길이가 먼저, 그 다음은 자리수의 합(숫자만), 그 다음은 사전 순이다. 길이나 사전 순은 lambda의 기준에 그냥 넣으면 되지만 자리수는 다르다! 우움 자리수를 미리 더해서 리스트에 추가하거나 함수를 만드는 것이 나을 것 같다. 코드 def sum(I): count = 0 for i in I: if i.isdigit(): count += int(i) re..

문제/백준 2021.07.18

[백준/BOJ] 10814번: 나이순 정렬 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 생각 일단 보자마자 생각나는 것은 딕셔너리나 2차원 배열? 딕셔너리보다는 리스트가 편할지도... 리스트형태로 리스트에 저장하고 나이를 기준으로 정렬하면 될 듯? lambda가 있으니... 코드 N = int(input()) d = [] for i in range(N): d.append(list(input().split())) d.sort(key=lambda x:int(x[0])) for i in ..

문제/백준 2021.07.18

[백준/BOJ] 10867번: 중복 빼고 정렬하기 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net 생각 몇개의 수를 받을 지에 대해서는 필요가 없을 것 같다. map을 활용하여 두번째로 주어지는 수들을 입력받고 set으로 감싼다음, list화 시키고 sort하여 출력하면 끝! N = (int)(input()) l = list(set(map(str, input().split()))) l.sort() print("{list}".format(list = " ".join(l))) 이렇게 하려고 했으나 틀렸다고 해서 좀더 풀어..

문제/백준 2021.07.18

[백준/BOJ] 11866번: 요세푸스 문제 0 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 생각 map을 사용해서 input().split()해서 값을 받자! 1부터 N까지의 데이터 리스트를 만들어주고, K-1번째부터 시작해서(인덱스는 0부터 시작) +K-1만큼 이동하여 pop해준다! pop해준 것은 다른 리스트에 저장하거나 프린트 데이터리스트 개수에 비해 위치가 더 크면 위치를 조정해준다! (남은 데이터 개수로 나눈 나머지) 남은 데이터 개수가 0개가 되면 결과값 Print! 결과를 저장해둔 list를 join하고 형식에 맞춰 출력하면 끝! 코드 N, K = ma..

문제/백준 2021.07.18