Skip to content

Commit f75777c

Browse files
committed
solve
1 parent fcb202d commit f75777c

File tree

5 files changed

+260
-39
lines changed

5 files changed

+260
-39
lines changed

.DS_Store

0 Bytes
Binary file not shown.

dev/stdin.txt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
2
2-
7
3-
3 1 3 7 3 4 6
4-
8
5-
1 2 3 4 5 6 7 8
1+
5
2+
RRRBB
3+
GGBBB
4+
BBBRR
5+
BBRRR
6+
RRRRR

member.html

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
<style>
6+
table,
7+
th,
8+
td {
9+
border: 1px solid black;
10+
border-collapse: collapse;
11+
}
12+
td {
13+
padding: 8px;
14+
text-align: center;
15+
}
16+
</style>
17+
</head>
18+
<body>
19+
<h2>회원가입</h2>
20+
<form action="" method="post" name="myform">
21+
<table>
22+
<tr>
23+
<td>아이디:</td>
24+
<td><input type="text" size="15" maxlength="12" name="id" /></td>
25+
</tr>
26+
<tr>
27+
<td>이름:</td>
28+
<td><input type="text" size="15" maxlength="12" name="name" /></td>
29+
</tr>
30+
<tr>
31+
<td>비밀번호:</td>
32+
<td><input type="text" size="15" maxlength="10" name="password" /></td>
33+
</tr>
34+
<tr>
35+
<td>성별</td>
36+
<td>
37+
<input type="radio" name="gender" checked /><input type="radio" name="성별" />
38+
</td>
39+
</tr>
40+
<tr>
41+
<td>핸드폰 번호</td>
42+
<td>
43+
<select name="phoneNumber" id="">
44+
<optgroup label="phoneNumber">
45+
<option value="010">010</option>
46+
<option value="011">011</option>
47+
</optgroup>
48+
</select>
49+
<input type="text" size="4" name="middlePhoneNumber" />
50+
<input type="text" size="4" name="lastPhoneNumber" />
51+
</td>
52+
</tr>
53+
54+
<tr>
55+
<td>주소:</td>
56+
<td><input type="text" size="20" /></td>
57+
</tr>
58+
<tr>
59+
<td>취미:</td>
60+
<td>
61+
당구<input type="checkbox" name="취미" /> 축구<input
62+
type="checkbox"
63+
name="취미"
64+
/>농구<input type="checkbox" name="취미" /><input type="checkbox" name="취미" />
65+
</td>
66+
</tr>
67+
<tr>
68+
<td>자기소개:</td>
69+
<td><input type="textarea" name="introduce" /></td>
70+
</tr>
71+
</table>
72+
</form>
73+
</body>
74+
</html>

myhtml.html

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>HTML</title>
5+
<meta charset="utf-8" />
6+
<style>
7+
table,
8+
th,
9+
td {
10+
border: 1px solid black;
11+
border-collapse: collapse;
12+
}
13+
td {
14+
padding: 8px;
15+
text-align: center;
16+
}
17+
</style>
18+
</head>
19+
20+
<body>
21+
<a
22+
href="https://www.konkuk.ac.kr/konkuk/index.do;jsessionid=DFC2052B3722A9F99E8E18D1EEC18C34"
23+
target="_blank"
24+
><img
25+
src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRThQm-lBCaSh19o2WZeEgcf7s5rcdItlYYUw&s"
26+
alt="OMG"
27+
width="100"
28+
height="40"
29+
/></a>
30+
<h1>지호준</h1>
31+
<h2>
32+
<a
33+
href="https://www.konkuk.ac.kr/konkuk/index.do;jsessionid=DFC2052B3722A9F99E8E18D1EEC18C34"
34+
target="_blank"
35+
>건국대학교</a
36+
>
37+
<a href="https://sicte.konkuk.ac.kr/sicte/index.do" target="_blank">스마트ICT융합공학과</a>
38+
</h2>
39+
<hr />
40+
<h2>2025년 1학기 과목</h2>
41+
<ul>
42+
<li>웹 프로그래밍</li>
43+
<li>데이터베이스</li>
44+
<li>운영체제</li>
45+
</ul>
46+
<hr />
47+
<h2>시간표</h2>
48+
<table>
49+
<th>
50+
<tr>시간</tr>
51+
<th></th>
52+
<th></th>
53+
<th></th>
54+
<th></th>
55+
<th></th>
56+
</th>
57+
<tr>
58+
<td>1교시</td>
59+
<td>컴퓨터네트워크2</td>
60+
<td></td>
61+
<td>컴퓨터네트워크2</td>
62+
<td></td>
63+
<td></td>
64+
</tr>
65+
<tr>
66+
<td>2교시</td>
67+
<td>컴퓨터네트워크2</td>
68+
<td></td>
69+
<td>컴퓨터네트워크2</td>
70+
<td></td>
71+
<td></td>
72+
</tr>
73+
<tr>
74+
<td>3교시</td>
75+
<td>컴퓨터네트워크2</td>
76+
<td></td>
77+
<td>컴퓨터네트워크2</td>
78+
<td></td>
79+
<td></td>
80+
</tr>
81+
<tr>
82+
<td>4교시</td>
83+
<td>모바일프로그래밍</td>
84+
<td></td>
85+
<td>모바일프로그래밍</td>
86+
<td>창의성과혁신</td>
87+
<td></td>
88+
</tr>
89+
<tr>
90+
<td>5교시</td>
91+
<td>모바일프로그래밍</td>
92+
<td>전기프</td>
93+
<td>모바일프로그래밍</td>
94+
<td>창의성과혁신</td>
95+
<td></td>
96+
</tr>
97+
<tr>
98+
<td>6교시</td>
99+
<td>모바일프로그래밍</td>
100+
<td>전기프</td>
101+
<td>모바일프로그래밍</td>
102+
<td>창의성과혁신</td>
103+
<td>전기프</td>
104+
</tr>
105+
<tr>
106+
<td>7교시</td>
107+
<td>모바일프로그래밍</td>
108+
<td>전기프</td>
109+
<td>모바일프로그래밍</td>
110+
<td>창의성과혁신</td>
111+
<td>전기프</td>
112+
</tr>
113+
<tr>
114+
<td>8교시</td>
115+
<td>모바일프로그래밍</td>
116+
<td>전기프</td>
117+
<td>모바일프로그래밍</td>
118+
<td>창의성과혁신</td>
119+
<td>전기프</td>
120+
</tr>
121+
<tr>
122+
<td>9교시</td>
123+
<td>웹프로그래밍</td>
124+
<td></td>
125+
<td>웹프로그래밍</td>
126+
<td>창의성과혁신</td>
127+
<td></td>
128+
</tr>
129+
<tr>
130+
<td>10교시</td>
131+
<td>웹프로그래밍</td>
132+
<td></td>
133+
<td>웹프로그래밍</td>
134+
<td>창의성과혁신</td>
135+
<td></td>
136+
</tr>
137+
<tr>
138+
<td>11교시</td>
139+
<td>웹프로그래밍</td>
140+
<td></td>
141+
<td>웹프로그래밍</td>
142+
<td></td>
143+
<td></td>
144+
</tr>
145+
<tr>
146+
<td>12교시</td>
147+
<td>웹프로그래밍</td>
148+
<td></td>
149+
<td>웹프로그래밍</td>
150+
<td></td>
151+
<td></td>
152+
</tr>
153+
</table>
154+
</body>
155+
</html>

test.js

Lines changed: 25 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,37 @@
1-
let fs = require('fs');
2-
let input = fs.readFileSync('/dev/stdin').toString().trim().split(' ');
1+
const fs = require('fs');
2+
let input = fs.readFileSync('./dev/stdin.txt').toString().trim().split('\n');
33

4-
let N = Number(input[0]);
5-
let arr = [null];
4+
const N = Number(input[0]);
5+
const colorArr = [];
6+
const count = 0;
7+
let visitedArr = [];
68

79
for (let i = 1; i <= N; i++) {
8-
arr.push(Number(input[i]));
10+
colorArr[i] = [,];
11+
visitedArr[i] = new Array(N + 1).fill(false);
12+
colorArr[i].push(...input[i].split(''));
913
}
14+
console.log(visitedArr);
1015

11-
let visitedArr = new Array(N + 1).fill(false);
12-
let finishedArr = new Array(N + 1).fill(false);
13-
let cycleArr = [];
14-
15-
const dfs = (idx) => {
16-
cycleArr.push(idx);
17-
18-
let next = arr[idx];
19-
20-
if (visitedArr[next]) {
21-
if (!finishedArr[next]) {
22-
// 사이클 arr에 있는 idx들을 finishedArr에 삽입
23-
return finishedArr;
24-
} else {
25-
return 0;
26-
}
16+
const dfs = (x, y) => {
17+
if (visitedArr[x][y]) {
18+
return false;
2719
}
28-
visitedArr[next] = true;
29-
30-
dfs(next);
31-
visitedArr[idx] = false;
32-
// visitedArr 부분을 좀더 생각..
33-
// startIdx도 생각해야함
20+
visitedArr[x][y] = true;
3421
};
3522

3623
for (let i = 1; i <= N; i++) {
37-
cycleArr = [];
38-
visitedArr[i] = true;
39-
dfs(i);
24+
for (let j = 1; j <= N; j++) {
25+
if (dfs(i, j)) {
26+
count++;
27+
}
28+
}
4029
}
4130

42-
// 개수가 최대일 경우의 수, output = 뽑힌 정수들의 개수, 작은수부터 큰수 순서로
43-
// 단순히 생각하면 뽑힌 인덱스와 그 값의 배열이 일치하면 되는데 => 텀 프로젝트 문제에서 이렇게 했다가 메모리 초과 났음(즉, 효율적인 방식이 아님)
31+
console.log(count);
4432

45-
// target 인덱스로 사이클을 형성한다고 생각할 수 있을 것 같음
46-
// 자기 자신을 가르키는 경우 또한 포함됨
33+
// 빨, 파, 초
34+
// 빨초, 파
35+
// 모든 좌표에 대해 DFS 실행
36+
// 상하좌우에 같은 문자열이 있는지 확인하는 로직
37+
// visited

0 commit comments

Comments
 (0)