목록Algorithm (153)
다희의 코딩 성장일기
[ 문제 ] [프로그래머스] level1. 위클리챌린지 4주차 (자바 JAVA) 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/84325 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr # 접근 방법 및 풀이 문제 그대로 for문으로 구현! 이때 값이 같다면 오름차순으로 빠른 순으로 뽑으라고 했으므로, 처음부터 정렬해준다. 자세한건 코드참조 # 주의할 점 순위 잘 확인할 것! 입력 들어오는대로 split 자르면 5,4,3,2,1 순위다. JAVA 코드..
[ 문제 ] [백준] 15662. 톱니바퀴 (2) (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/15662 15662번: 톱니바퀴 (2) 총 8개의 톱니를 가지고 있는 톱니바퀴 T개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net # 접근 방법 및 풀이 톱니바퀴를 topni[][] 2차원 배열에 입력받는다. 톱니바퀴끼리 서로 맞물린 곳의 극이 서로 달라 회전이 가능한지 체크하는 함수 check() 회전시키는 함수 rotation() 톱니바퀴 하나를 해당 방향(시계 or 반시계)으로 돌리는 함수 turn() 으로 3가지 함수를 구분해..
[ 문제 ] [프로그래머스] level1. 3진법 뒤집기 (자바 JAVA) 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr # 접근 방법 및 풀이 코드참조 # 주의할 점 딱히없음 JAVA 코드 class Solution { public int solution(int n) { String s = Integer.toString(n, 3); StringB..
[ 문제 ] [프로그래머스] level1. [1차] 비밀지도 (자바 JAVA) 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr # 접근 방법 및 풀이 arr1[]배열과 arr2[]배열에 들어오는 10진수 정수를 2진수 형태로 바꿔주고, OR비트연산을 통해서 구했다. Integer.toString(3, 2); 이렇게 하면 정수 3을 2진수 String 값으로 변환해준다. 따라서 Intege..
[ 문제 ] [백준] 2493. 탑 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net # 접근 방법 및 풀이 단순히 for문 두개로 탐색 돌렸는데 역시나 시간초과 ㅎㅎ.. 왜 N범위를 제대로 안 읽고 푸는지.. 다시한번 느꼈다. 두번째는 스택으로 풀었다. 왼쪽에서 오른쪽으로 탐색할지, 오른쪽에서 왼쪽으로 탐색할지 고민해서 시간이 조금 걸렸다. ans[]배열을 N 크기만큼 생성해 각각의 idx에 해당하는 답을 담기..
[ 문제 ] [백준] 2583. 영역 구하기 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net # 접근 방법 및 풀이 보통 0,0와 M,N은 맨 왼쪽 위부터 맨 오른쪽 아래로 생각하기 쉬운데 여기선 다르다. 0,0이 맨 왼쪽 아래고 M,N이 맨 오른쪽 위다. 그리고 숫자로 들어오는 값이 x, y를 좌표선상으로 생각해서 받아야한다. x는 가로축 y는 세로축이기 때문에 x는 열좌표 y는 행좌표이다...