Answer:
 about 2.268 miles
Step-by-step explanation:
Let x represent the distance the visitor should run. Then the distance he swims will be ...
 d = √((4 -x)² +3²) = √(x² -8x +25)
The total travel time is given by ...
 time = distance / speed
 time = x/6 +d/3
 time = x/6 +1/3√(x² -8x +25)
The time will be minimized at the value of x that makes the derivative zero.
 d(time)/dx = 0 = 1/6 +1/6(2x -8)/√(x² -8x +25)
 0 = √(x² -8x +25) +2x -8
 (8 -2x)² = x² -8x +25 . . . . . . subtract (2x-8), square both sides
 3x^2 -24x +39 = 0 . . . . . . subtract the right side
 x² -8x +13 = 0 . . . . . . . . . divide by 3
 (x -4)² = 3 . . . . . . . . . . . complete the square
 x = 4 -√3 ≈ 2.268 . . . . . . . . . . square root, add 4
The visitor should run about 2.268 miles to minimize the time.
_____
Additional comment
The ratio of swim rate in water to running rate is 3/6 = 1/2. The angle with respect to straight out from the shoreline will be arcsin(1/2) = 30°, so the distance from the point closest to the rock will be (3 mi)tan(30°) = 1.732 mi. The distance to run is 4 mi - 1.732 mi = 2.268 mi. The angle relation is the generic solution to a problem like this.