본문 바로가기
728x90
반응형

분류 전체보기647

[자바] 백준 2661번: 좋은수열 https://www.acmicpc.net/problem/2661 2661번: 좋은수열 첫 번째 줄에 1, 2, 3으로만 이루어져 있는 길이가 N인 좋은 수열들 중에서 가장 작은 수를 나타내는 수열만 출력한다. 수열을 이루는 1, 2, 3들 사이에는 빈칸을 두지 않는다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class P2661 { static boolean isFinish = false; public static void main(String[] args) throws NumberFormatException, IOException { .. 2023. 1. 19.
[자바스크립트] 모달창 띄우기와 간단한 애니메이션 여기 있는 로그인 버튼을 누르면 이런 모달창이 나오도록 만들어 보자. 로그인하세요 전송 닫기 이건 미리 만들어놓은 모달창이다. 검은색 배경에 흰색 박스, 흰 박스 안에 form과 버튼이 있는 형태이다. 이 박스가 보일 때는 화면의 맨 앞에 나와야하므로 body태그 맨 위에 넣어주었고 여기서 가장 큰 div박스에는 속성으로 visibility: hidden;을 주어 평소에는 보이지 않도록 하였다. .show { visibility: visible; opacity: 1; top: 0; } 이건 나중에 모달창을 보이게 하기 위해 show라는 클래스를 만들어 둔 것이다. visibility를 visible로 하여 보이게 하고 투명도도 1로 주었다. $('#login').on('click', function() .. 2023. 1. 18.
[자바스크립트] 조건문 사용하기 아이디를 입력하는 칸과 전송버튼을 만들고, 아이디칸에 아무것도 입력되지 않았을 때는 경고창이 뜨도록 만들어 보자. 폼에 입력된 값은 $('요소명').value로 알 수 있다. $('.btn-primary').on('click',function(){ if($("#user-id").val().length==0){ alert("아이디를 입력하셔야죠"); return false; } }); btn-primary 클래스를 가진 요소를 클릭했을 때 #user-id의 값의 길이가 0이라면 "아이디를 입력하셔야죠" 알림창 뜨게 하기. if-else문은 우리가 C언어,자바 등등에서 사용하는 그 if문과 같다고 보면 된다. 추가로, form태그에서 submit이벤트가 발생하기 때문에 $('form').on('submit'.. 2023. 1. 18.
[자바] 백준 11657번: 타임머신 https://www.acmicpc.net/problem/11657 11657번: 타임머신 첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. www.acmicpc.net 밸만포드 알고리즘을 이용한다. 1. 출발 노드를 설정한다. 2. 최단 거리 테이블을 초기화한다. 3. 다음의 과정을 N-1번 반복한다. 3-1. 전체 간선 E개를 하나씩 확인한다. 3-2. 각 간선을 거쳐 다른 노드로 가는 비용을 계산하여 최단 거리 테이블을 갱신한다. 만약 음수 간선 순환을 확인하고 싶다면 3번의 과정을 한 번 더 수행.. 2023. 1. 18.
[자바] 백준 2621번: 카드게임 https://www.acmicpc.net/problem/2621 2621번: 카드게임 근우는 오늘 재미있는 카드 게임을 배우고 있다. 카드는 빨간색, 파란색, 노란색, 녹색의 네 가지 색이 있고, 색깔별로 1부터 9까지 숫자가 쓰여진 카드가 9장씩 있다. 카드는 모두 36(=4x9)장이다. www.acmicpc.net 문제가 정말..너무 길다. 문제 자체는 어려운 게 없었는데, 규칙이 너무 많아서 내가 코드를 짠게 아니라 노동을 한 것 같다. 나는 문제에서 정해준 규칙 1번~9번을 그대로 if-else문으로 만들었는데 다른 방법으로 코드를 짰으면 더 간결했을까? . . 우선 카드 정보를 입력받는데, 카드의 숫자는 num[10] 배열에, 카드의 색깔은 RGBY[4] 배열에 숫자와 색깔의 개수만 세서 넣었.. 2023. 1. 17.
[자바] 백준 1747번: 소수&팰린드롬 https://www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net 우선 팰린드롬인지 판별하는 함수 isPalindrome(int i)를 만들었다 숫자를 String으로 변환한 후, 양 끝에서부터 한쌍씩 비교하여 팰린드롬인지 판별한다. 이후 main함수에서 N부터 maxValue까지 팰린드롬인 숫자라면 소수인지 계산한 후, 값을 출력한다. . . 개인적인 능지 문제로 첫 시도를 실패했다 더보기 import java.io.Buf.. 2023. 1. 17.
[자바] 백준 1652: 누울 자리를 찾아라 https://www.acmicpc.net/problem/1652 1652번: 누울 자리를 찾아라 첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. www.acmicpc.net 우선 2차원배열을 만들어서 방의 구조를 그대로 저장했다. 이후 이중 반복문을 이용해서 누울 자리를 세면 되는데, 현재 위치와 다음 위치가 모두 빈 공간이라면 누울 수 있는 자리로 인식하면 된다. 누울 자리를 찾았다면 카운트를 증가시키고, 다음 장애물이나 벽이 나올때까지 자리를 이동한다. import java.io.BufferedReader; import java.io.IOException.. 2023. 1. 16.
[자바] 백준 1764번: 듣보잡 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 문제는 정말 간단하다 듣도 못한 사람 N명의 명단을 받은 다음 보도 못한 사람 M명의 명단을 입력받으면서, 듣도보도 못한 명단에 포함 된 사람이면 기록해뒀다가 출력하면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; imp.. 2023. 1. 16.
[자바스크립트] jQuery 라이브러리 사용하기 jQuery라이브러리를 설치해서 자바스크립트를 쉽고 간결하게 사용 해 보자. 우선 이 스크립트 태그를 HTML파일에 붙여넣자. 참고로 이 태그 아래에 스크립트를 작성해야 jQuery가 잘 작동하니 주의하자. jQuery 예시들이다. document.querySelector('요소명')을 간단하게 $('요소명')으로 쓸 수 있다. 2023. 1. 16.
[자바스크립트] 서브메뉴 만들기 이런 Navbar가 있다. 오른쪽에 상병마크 버튼을 누르면 이렇게 메뉴리스트가 튀어나오도록 만들어 보자. Navbar An item A second item A third item A fourth item And a fifth one 아래 스크립트태그를 보자. 우선 내브바에 있는 상병마크에 이벤트 리스너를 추가한다.(클릭 시 동작) (여기서 getElementByClassName('클래스명')[0] 이라고 적었는데, 나중에 오류가 발생하지 않도록 인덱스번호를 적어주는 편이 좋다.) 이벤트리스너 function 내부에는 .classList.toggle('클래스명') 이라는 메소드를 사용하였는데, 해당 클래스가 있으면 삭제하고, 없으면 추가하라는 메소드이다. 이것을 이용해서 클래스를 추가하고 뺄 수 있다. .. 2023. 1. 16.
[자바] 백준 3649번: 로봇 프로젝트 https://www.acmicpc.net/problem/3649 3649번: 로봇 프로젝트 각 테스트 케이스마다 한 줄에 하나씩, 구멍을 완벽하게 막을 수 있는 두 조각이 없다면 'danger'를 출력한다. 막을 수 있는 경우에는 'yes ℓ1 ℓ2'를 출력한다. (ℓ1 ≤ ℓ2) 정답이 여러 개인 경우에 www.acmicpc.net 블럭길이를 오름차순 정렬 한 후에 1개의 블럭을 뽑고, 이 블럭과 합쳐서 구멍을 완벽하게 메꿀 수 있는 블럭이 존재하면 답을 출력하는 방식으로 작성했다. 더보기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Collectio.. 2023. 1. 16.
[자바스크립트] 알림창 띄우기, 이벤트리스너 자바스크립트로 HTML을 조작할 수 있다. 안녕하세요 안녕하세요 라고 적힌 글을 자바스크립트를 이용해서 조작 해 보자. 안녕하세요 id를 hello로 만들어 준 뒤, 아래에 script 태그를 열어 document.getE... 블라블라 적어주면 된다. innerHTML으로 내용을 안녕안하세요 로 바꾸고, style.background를 red로 설정했더니 잘 적용된 모습이다. 버튼을 누르면 나타나는 알림창 만들기 알림창 닫기 버튼 HTML 삽입 미리보기할 수 없는 소스 버튼을 누르면 알림창이 열리고, 알림창에 있는 버튼을 누르면 다시 알림창이 없어진다. 이번에는 script 태그를 열지 않고, onclick 속성으로 바로 자바스크립트를 작성했다. function 이용하기 버튼 script태그 안에 fu.. 2023. 1. 16.
[자바] 백준 1759번: 암호 만들기 https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 브루트포스, 백트래킹 문제다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class P1759 { static int L, C; static boolean[] vi.. 2023. 1. 15.
[자바] 백준 2529번: 부등호 https://www.acmicpc.net/problem/2529 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시 www.acmicpc.net 모든 경우의 수를 확인해서, 부등호 조건이 맞는 경우에 최솟값과 최댓값을 계산하면 될 것 같았다. 앞에서 어떤 수를 선택하느냐에 따라 뒷자리 경우의 수가 달라지기 때문에 순열 알고리즘을 응용했다 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringToken.. 2023. 1. 14.
grid 레이아웃 부모 태그에 display: grid속성을 주고, grid-template-columns, rows를 설정 해 준다. 가로가 네 칸이게 하고싶으면 columns: 1fr 1fr 1fr 1fr; 처럼 해 주면 된다. (fr은 비율로 나누는 것인데 그냥 px단위나 %로 써도 된다) 세로는 똑같이 row에 해 주면 된다. 여러 칸을 차지하고 싶을 때 방법 1 grid container 내부에 있는 박스를 하나 선택해서, 새로 클래스를 부여하고 grid-column 속성을 준다. 위 사진에서는 grid-column: 1/3; 으로 되어있는데, 가로줄 첫번째~세번째 줄까지 차지해달라는 말이 된다. 여러 칸을 차지하고 싶을 때 방법2 자식 태그에는 grid-area: 영역이름; 을 설정 해 주고, 부모 태그인 gr.. 2023. 1. 14.
transform과 keyframes로 애니메이션 만들기 transform 대상을 변형시킬 수 있다 transform: skew(각도); =>비틀기 transform: rotate(각도); =>회전 이 외에도 scale() => 확대/축소 translate( , ) => 좌표이동 등이 있으니 자동완성으로 확인해 보고 쓰면 된다. @keyframes @keyframes 애니메이션이름{ ...} 으로 작성할 수 있다. 애니메이션이 몇% 진행되었을 때의 모습을 각각 지정 해 주면 된다. 이 애니메이션을 사용할 때는 animation-name: animation-duration: 지정해 주면 된다. 2023. 1. 14.
[자바] 백준 1205번: 등수 구하기 https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 모든 점수 + 태수의 점수를 배열에 넣고, 점수 기준 내림차순으로 정렬한다. 이후에 등수를 계산한다. 다음 점수가 현재 점수와 같다면 같은 등수를 부여하고 카운트를 증가시킨다. 다음 점수가 현재 점수와 다르다면(작다면), 현재 등수+카운트만큼 등수를 부여한다. 카운트는 1로 초기화한다. 추가로, 현재 점수가 태수의 점수와 같다면 인덱스를 기록해 둔다. (그러면 반복이 .. 2023. 1. 13.
[자바] 백준 1987번: 알파벳 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 첫 시도 메모리 초과로 실패 아마 StringBuffer를 너무 많이 사용해서 그런 듯 하다. -실패한 코드 더보기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import j.. 2023. 1. 13.
SASS를 알아보자 변수 사용하기 파일명.scss 를 컴파일하면 .css파일이 생성된다. scss파일에서 $변수명: 값; 으로 변수를 사용할 수 있고, 이를 컴파일하면 해당 변수의 값으로 치환되어 css파일이 생성된다. nesting 문법 괄호 안에 또 괄호를 쳐서 내용을 적을 수 있는데, 이 예시는 mydivbox 안에 있는 h4태그는 font-size:16px로 설정, mydivbox 안에 있는 span태그는 color:red로 설정하라고 적은 것이다. css에서는 .mydivbox h4{ . . .} .mydivbox span{ . . .} 와 같이 따로 따로 작성하였는데, mydivbox 하나의 괄호 안에 묶을 수 있어 관리하기 용이하다는 장점이 있다. @extend 문법 @extend 부모클래스; 를 작성하면 부모.. 2023. 1. 13.
[자바] 백준 10819번: 차이를 최대로 https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 숫자 개수가 많지 않기 때문에 모든 경우를 계산해도 시간이 충분하다. 순열 알고리즘을 이용해서 n개의 숫자를 줄세우는 모든 경우의 수를 구하고, 각각의 경우의 결과값을 계산한 후, 최댓값을 출력한다. -(참고)순열을 출력하는 perm함수 더보기 n개의 숫자를 줄세우는 모든 경우를 계산한다. static void swap(int[] arr,int i, int j) { int temp=arr[i]; arr[i]=a.. 2023. 1. 12.
728x90
반응형