[백준] 5567: 결혼식 (JAVA)
·
코테/Algorithm
5567: 결혼식 (실버2) ArrayList[]이런 문제를 풀때 나는 ArrayList[] 처럼 ArrayList 내에 배열을 넣어서 푸는걸 좋아한다.오랜만에 풀었더니 또 정의하는 법 까먹었다 .. 앞으론 진짜 안까먹어야지ArrayList[] list = new ArrayList();list = new ArrayList[N];for(int i=0; i();}list[0].add(1);list[0].get(0); //1풀이상근이의 친구의 친구 까지만 결혼식에 초대한다. 즉, depth가 2인 친구들까지만 초대한다는 뜻이다.이 경우 bfs와 dfs 둘 다로 문제를 해결할 수 있다. 난 bfs로 문제를 풀었다. 위의 ArrayList[] 를 사용하면, 651 21 33 42 34 5이런 형태의 입력이 주어졌..
[프로그래머스] Lv.2 호텔 대실 (JAVA)
·
코테/Algorithm
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr이 문제는 보자마자 아래처럼 풀어야겠다는 생각이 들었다. 그래야 공백 없이 확실하게 들어갈 수 있기 때문.우선순위 큐로 풀어도 될 것 같은데 dfs로 풀고싶어서 dfs로 풀었다.. 근데 pq로 푸는게 더 효율적인 코드일듯. 문제풀이1. 우선 종료시간에 +10분을 추가해준다(청소시간)// 대실 종료 시간에 + 10분// 단, 23:59에는 더이상 손님이 들어오지 않으니 + 10분 하지 않음.static String[][] timeFix(String[][] time, int cleanTime){ for(int i=0; i= 60) { h..
[프로그래머스] [1차] 비밀지도 (Python/JAVA)
·
코테/Algorithm
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📌 풀이n이 주어지지 않은 줄 알고 max_len을 구해서 풀었는데 n이 주어졌었다 .. (문제를 잘 읽자😅)or 연산자를 활용해 10진수의 값을 2진수로 변환하고, n자리수를 채우지 못하는 경우 앞에 '0'을 추가해줬다.format에 대해 잘 모르는 것 같아 정리해야겠다 .. 📌 정리파이썬에서 format()format()은 문자열 안에 값을 넣고, 그 값을 원하는 형식으로 정렬 / 채움 / 변환할 수 있게 해주는 함수format(변수, '{넣을값}{총자리수}{진수코드}')진수 변환'b'2진수(binary)format(10, 'b') → '1010..
[프로그래머스] 숫자 문자열과 영단어 (Python)
·
코테/Algorithm
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📌 정리파이썬에서 replacereplace(old, new, [count]) ➡️ old는 찾을 값, new는 바꿀 값, count는 바꿀 횟수s = s.replace(number[i][1], number[i][0], 99)자바에서는 replace와 replaceAll 2개로 나눠져 있는데, 파이썬은 replace 하나밖에 없다. 📌 전체 코드def solution(s): number = [["0", "zero"],["1", "one"],["2", "two"],["3", "three"],["4", "four"],["5", "five"],["6",..
[프로그래머스] 서울에서 김서방 찾기 (Python)
·
코테/Algorithm
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정리문자열 안에 변수를 대치시키는 방법문자열의 앞에 f를 입력해 포매팅 시켜주기b = f'a의 값: {a}' 전체코드def solution(seoul): idx = 0 for i in range(0, len(seoul)): if seoul[i] == 'Kim' : idx = i answer = f'김서방은 {idx}에 있다' return answer
[프로그래머스] 없는 숫자 더하기(Python)
·
코테/Algorithm
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 numbers 배열을 돌면서 arr 배열 내에 존재하는 numbers 숫자를 제거해준다.arr 배열에 남은 숫자들을 더해주면 된다. 정리리스트의 길이len(리스트): 리스트의 길이리스트에서 원소 제거 리스트.remove(삭제할 값): 리스트 내에서 값을 삭제del: del은 해당 리스트 내에서만 값을 삭제a = [1, 2, 3, 4, 5, 6, 7]del a[1][1, 3, 4, 5, 6, 7]a = [1, 2, 3, 4, 5, 6, 7]del a[a.index(3)][1, 2, 4, 5, 6, 7]del과 index 함께 사용하면 remove와 같다..
[BOJ] 1991: 트리순회 (JAVA)
·
코테/Algorithm
백준 1991: 트리순회 (실버1)  풀이 트리의 순회를 코드로 구현하는 문제다.전위순회는 N-L-R / 중위순회는 L-N-R / 후위 순회는 L-R-N 순으로 순회한다.(L = 왼쪽 자식, N = 뿌리 노드, R = 오른쪽 자식) 노드를 저장하는 배열의 순서는 char를 사용해서 -'A'를 해주며 순서를 저장해준다. 전체코드import java.io.*;import java.util.*;public class Main{ static class Node{ char N; Node left; Node right; Node(char N){ this.N = N; this.left = left; this.right = right; } } static Node[] tree; public stat..
[BOJ] 2644: 촌수계산 (JAVA)
·
코테/Algorithm
백준 (실버2) 2644: 촌수계산 풀이 요즘 코테 준비 겸.. 백준 BFS DFS 문제집을 독파하고있다.  https://www.acmicpc.net/workbook/view/1983(사실 거의 다 풀었길래 독파하는 것도 있지만 ..문제집을 보다보니까 코테 전용 문제집을 만들어둔 사람들이 꽤 많길래하나씩 독파하며 플레.. 까지 가보고싶다 !!!!!!!!!!) 각설하고,이런 노드 문제들은 개인적으로 ArrayList[]로 푸는게 더 편한 것 같다.이유는 NxN만큼 탐색하지 않아도 되어 시간복잡도나 공간복잡도 면에서 효율적이기 때문이 문제는 BFS로도 풀 수 있고 DFS로도 풀 수 있는 것 같은데 경로중에서 가장 짧은 게 촌수이기 때문에 난 BFS사용해서 min값을 정답으로 제출했다. 전체코드package..
[백준] 11723: 집합 (JAVA)
·
코테/Algorithm
백준 (실버5) 11723: 집합 풀이비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오.- add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.- remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다.- check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20)- toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가한다. (1 ≤ x ≤ 20)- all: S를 {1, 2, ..., 20} 으로 바꾼다.- empty: S를 공집합으로 바꾼다.문자를 넣었다 빼면 시간이 오래 걸릴 것 같아 true false로 들어있는지 아닌지를 체크..
[백준] 9205: 맥주 마시면서 걸어가기 (JAVA)
·
코테/Algorithm
백준 (골드5) 9205: 맥주 마시면서 걸어가기 풀이 풀이 시작 전, 맨해튼거리를 알아야 이 문제를 해결할 수 있다.  평면위의 맨해튼 거리가 (p1,p2) 과 (q1,q2) 사이이면 |p1−q1|+|p2−q2| 이다.즉, 좌표로 따지자면 (x1, y1)과 (x2, y2)사이의 거리는 |x1−x2|+|y1−y2| 인 것이다. 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. 맥주 한 박스에는 맥주가 20개 들어있다. 목이 마르면 안되기 때문에 50미터에 한 병씩 마시려고 한다. 즉, 50미터를 가려면 그 직전에 맥주 한 병을 마셔야 한다.상근이의 집에서 페스티벌이 열..