본문 바로가기

Computer Science/Algorithm48

[백준] 1018번 체스판 다시 칠하기, python https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 행렬 헷갈리지말기 2차원 배열 행렬 읿력하기 # 행렬 입력 n, m = map(int, input().split()) # 2차원 배열 입력 board = [list(map(str, input().split()))for _ in range(m)] 아래 순서로 문제를 풀었다. # 보드에서 8x8 판 부분 정하기 (n-8)x(m-8) # 정한 부분에서 검정 시작, 흰색 시작 두 가지 경우로 나누.. 2023. 1. 7.
[백준] 1920번 수 찾기, python 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^2 구현 했다. n_list = sorted(n_list) print(n_list) # 길이가 m이고 0인 리스트 만들기 isThere = [0 for i in range(m)] for m_num in m_list: fo.. 2023. 1. 6.
[백준] 나이순 정렬 10814, python https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 포인트 sorted에서 lambda 사용법 (특정 인덱스 기준으로 정렬하기) sort_list = sorted(list, key=lambda a: a[0]) https://gorokke.tistory.com/38 람다(lambda) 총 정리, key sort, key 정렬 1. 람다(lambda) 1 ) 의미 익명함수를 지칭하는 용어 즉, 기존의 함수(명 등)을 선언하고 사용하던 방식과는 달리 바로 정.. 2023. 1. 6.
[백준] 2920번 음계, python https://www.acmicpc.net/status?user_id=rndpqls999&problem_id=2920&from_mine=1 채점 현황 www.acmicpc.net 와 list의 슬라이싱에서 잘못해서 계속 틀렸던 거였다. # BOJ_2920 melodys = list(map(int, input().split())) pre_melody = melodys[0] answer = 'dontknow' # for melody in melodys[1:]: # print(melody) for melody in melodys[1:]: if melody > pre_melody: if answer == 'descending' or answer == 'mixed': answer = 'mixed' break el.. 2023. 1. 6.
[1단계] 백준 1152번 단어의 개수, python https://solved.ac/class solved.ac 알고리즘 문제해결 학습의 이정표 🚩 Baekjoon Online Judge 문제들의 난이도 및 티어 정보를 제공하는 사이트입니다. solved.ac 문제 출저: https://www.acmicpc.net/problem/1152 결론은 모든 예외를 신중히 고려해보자는 것이다. 여러 번의 시행착오 끝에 예외를 처리할 수 있었다. 코드를 짠 순서는 다음과 같다. 1. 입력값을 모두 받아서 리스트화 시키기(문자별로 쪼개기) 2. 각 문자를 for으로 돌려서 띄어쓰기 갯수 세기 3. 문장 안에 단어의 갯수 이므로 띄어쓰기 갯수 + 1을 출력하기 첫번째 처리 못한 예외: 문장 앞과 뒤에 들어간 공백이 있을 때 공백은 취급하지 않는다. > 문장 맨 앞과 맨.. 2023. 1. 5.
[백준] 브론즈4에서 한 달 티어 목표 solved.ac 를 확인했을 때 아직 Bronze4이다. 이번달 목표는 Silver 로 도입이다!! https://velog.io/@chs98412/%EB%B0%B1%EC%A4%80-%ED%95%9C%EB%8B%AC-%ED%9B%84%EA%B8%B0-%EA%B3%A8%EB%93%9C-%EB%8B%AC%EC%84%B1-%ED%9B%84%EA%B8%B0 백준 한달 후기 & 골드 달성 후기 백준을 시작한지 오늘로 딱 한달이 되었고, 골드 달성은 이틀 전에 했다아직 진짜 초보같음그래도 일단 방학동안 목표했던것 중에 하나는 달성해서 다행이다근데 사실 106문제 중에 70%가 dfs, bfs velog.io https://velog.io/@arcokim/%EB%B0%B1%EC%A4%80%EA%B3%A8%EB%93.. 2023. 1. 5.
코드업 1099번문제 - 개미 경로 찾기 https://codeup.kr/problem.php?id=1099&rid=0 [기초-2차원배열] 성실한 개미 C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 계속 표현 에러가 뜬다;; #include using namespace std; int main() { // 2차원 배열 a 선언 int a[10][10] = {0, }; // 상자의 구조를 입력 받는다. for (int i = 0; i > t; a[i][j] = t; } cout 2022. 6. 22.
[백준] 선수과목 14567번 풀이 - 아직 못 품;; 위상 정렬 사용하면 과목 순서대로 나온다. 하지만 최소 학기를 구하려면 진입 차수가 같은 노드 끼리 묶어야 하는데 어떻게 해야 할지 모르겠다. # 선수 과목 14567번 - 그래프로 입력받기 import sys from collections import deque # 입력: 과목 수 n, 선수 조건의 수 m v, e = map(int, sys.stdin.readline().split()) # 과목을 순서대로 나열할 리스트를 만든다. indegree = [0] * (v + 1) # 부모 테이블 초기화 # 각 노드에 연결된 간선 정보를 담기 위한 연결 리스트 초기화 graph = [[] for i in range(v + 1)] # 각 과목의 최소 학기를 모두 1로 초기화 lst = [1 for _ in ra.. 2022. 6. 2.
[백준] 홀짝 칵테일 21312번 풀이 # 홀짝 칵테일 21312번 import sys # 입력: 음료 3개의 고유 번호 A,B,C a,b,c = map(int, sys.stdin.readline().split()) # 칵테일의 모든 조합을 리스트화한다. lst = [a, b, c, a*b, a*c, b*c, a*b*c] # 내림차순으로 정렬한다. lst.sort(reverse=True) tasty = lst[0] # 각 번호를 조합하여 곱해준다. for i in range(0, len(lst)): sum = lst[i] # 조합한 칵테일 맛이 홀수인 것만 고른다. if sum % 2 == 1: tasty = sum break # 출력: 가장 맛있는 칵테일 맛 print(tasty) # 홀짝 칵테일 21312번 import sys # 입력: .. 2022. 6. 2.